LINQ查询

1.查询语法与方法语法
查询语法:
var queryResults =
                                from n in names
                                where n.StartsWith("S")
                                select n;
方法语法:
var queryResults = names.Where(n=>n.StartsWith("S"));
2.查询排序
默认升序,添加descending关键字则为降序
var queryResults =
                                from n in names
                                where n.StartsWith("S")
                                orderby n descending
                                select n;
3.聚合运算
var queryResults=  
                              from n in numbers
                              where n>1000
                              select n;
var maxNum=queryResult.Max();
4.投影:在查询中创建新类型
List<Customer> customers=new List<Customer>{new Customer{ID="A",City="Beijing",Country="China",Region="Asia",Sales=9}}
var queryResults=
                              from c in customers
                              where c.Region="Asia"
                              select new {c.City,c.Country,c.Sales};
5.Any()和All()方法
bool anyUSA=customers.Any(c=>c.Country=="USA");
bool allAsia=customers.All(c=>c.Region=="Asia");
6.多级排序
var queryResults=                                                                   或     var queryResults=customers.OrderBy(c=>c.Region)
                             from c in customers                                                                        .ThenBy(c=>c.Country)
                             orderby c.Region,c.Country,c.City                                                  .ThenBy(c=>c.City)
                             select new {c.ID,c.Region,c.Country,c.City};                                  .Select(c=>new {c.ID,c.Region,c.Country,c.City})
7.组合查询
var queryResults=
                             from c in customers
                             group c by c.Region into cg
                             select new {TotalSales=cg.Sum(c=>c.Sales),Region=cg.Key};
8.Take()和Skip()方法
queryResults.Take(n):取前n个数据                  queryResults.Skip(n):跳过前n个数据
9.Frist()和FristOrDefalt()方法
Frist()如果没有满足条件的会报错,而FristOrDefalt不会
10.集运算Intersect(),Except(),Union()方法
11.多表查询join...on...
var queryResults=
                             from c in customers
                             join o in orders on c.Id equals o.Id

转载于:https://www.cnblogs.com/DemonJ/p/7286323.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值