ASP.NET通过WMI创建站点添加虚拟目录和主机头
询”语句:
1: from file in files 2:
3: group file.ToUpper() by Path.GetExtension(file)
4:
5: into grouping
6:
7: orderby grouping.Key
8:
9: select grouping;
延续查询通常在group by查询中是很有用的,以下示例显示那些文件总数小于5的分组目录: 1: from file in files 2:
3: group file. ToUpper()by Path.GetExtension (file)
4:
5: into grouping
6:
7: where grouping.Count() < 5 8:
9: select grouping;
有些时候你可能只需要得到一个组的聚合结果,因此你可以丢弃子序列: 1: string[] votes = {“Bush”,“Gore”,“Gore”,“Bush”,“Bush” }; 2:
3: IEnumerable<string> query = from vote in votes 4:
5: group vote by vote into g
6:
7: orderby g.Count() descending
8:
9: select g.Key;
10:
11: string winner = query.First(); // Bush
LINQ to SQL当中的GroupBy Grouping在解释性查询中的工作方式与上述是一样的. 当然, 如果你在LINQ to SQL实体当中有关联属性, 你会发现需要使用group的时候比在标准SQL当中要少很多.例如, 要找到那些采购订单不少于两个的客户, 我们并不需要group, 以下示例就可以了: 1: from c in dataContext.Customers 2:
3: where c.Purchases.Count >= 2 4:
5: select c.Name + ” has made “ + c.Purchases.Count
6:
7: + ” purchases”;
另外一个你可能需要分组的例子是计算年度收入: 1: from p in dataContext.Purchases 2:
3: group p.Price by p.Date.Year into salesByYear
4:
5: select new { 6:
7: Year = salesByYear.Key,
8:
9: TotalValue = salesByYear.Sum()
10:
11: };
多主键分组 我们可以使用一个匿名类型根据一个符合主键进行分组 1: from n in names 2:
3: group n by new { FirstLetter = n[0], Length = n.Length };
自定义Comparer 对于本地查询,你可以传递一个自定义的comparer到GroupBy中 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |