Linq表达式+详解链接

linq基本语法:

以from item in items 开始,items为待处理的集合,item为每一项的变量名;最后加上select,表示结果的数据;

1、Orderby 排序

	查询狗的年龄信息,按照降序排序
	Var items =from d in dogs
			Orderby d.Age descending  (不写descending默认按照升序排序)
			Select d;

2、查找匿名类型

	Var r=from d in dogs
		Select new{d.Id, d.Name, Desc="一条狗"}; //查找一个匿名类型的数据,匿名类型属性的名字叫id,叫name。。。

3、join

    join 子句接受两个源序列作为输入。 每个序列中的元素都必须是可以与另一个序列中的相应属性进行比较的属性,或者包含一个这样的属性。 join子句使用特殊的 equals 关键字比较指定的键是否相等。 join 子句执行的所有联接都是同等联接。
	
	Var r=from d in dogs
		Join m in masters on d.MasterId equals m1.Id  //在masters表中查找m,条件是d.Masterld equalsm1.Id
		Select new {DogName=d.Name,MasterName=m.Name};
	注意:join中相等不要用==,要用equals。

4、group by 分组

	Var items=from d in dogs   
		Group d by d.Age into g
		Select new { g.key,MaxId=g.Max(d=>d.Id)};

5、取出查询数据中的最大值

	Int m = (from n in nums
			Where n % 2 ==0
			Select n).Max();

6、只有 Where,Select,OrderBy,GroupBy,Join等这些能用 linq写法,如果要用下面的“Max,Min,Count,Average,Sum,Any,First,FirstOrDefault,Single,SingleOrDefault,Distinct,Skip,Take等" 则还要用lambda的写法

Linq表达式详解(LINQ(隐式表达式、lambda 表达式),Linq分组查询),极力推荐阅读,写的非常棒!

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值