专业网站建设品牌,十四年专业建站经验,服务6000+客户--广州京杭网络
免费热线:400-683-0016      微信咨询  |  联系我们

如何使用 GroupBy 方法通过使用基于方法的查询语法来查询-分组

当前位置:网站建设 > 技术支持
资料来源:网络整理       时间:2023/2/14 0:51:29       共计:3643 浏览

本主题中的示例说明如何使用 GroupBy 方法通过使用基于方法的查询语法来查询 AdventureWorks 销售模型 。 这些示例中使用的 AdventureWorks 销售模型基于 AdventureWorks 示例数据库中的 Contact、Address、Product、SalesOrderHeader 和 SalesOrderDetail 表生成。


本主题中的示例使用以下 using / Imports 语句:

C#


using System;

using System.Data;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Data.Objects;

using System.Globalization;

using System.Data.EntityClient;

using System.Data.SqlClient;

using System.Data.Common;


示例


下面的示例使用 GroupBy 方法来返回按邮政编码分组的 Address 对象。 这些结果将投影到一个匿名类型。

C#


using (AdventureWorksEntities context = new AdventureWorksEntities())

{

   var query = context.Addresses

       .GroupBy( address => address.PostalCode);


   foreach (IGrouping<string, Address> addressGroup in query)

   {

       Console.WriteLine("Postal Code: {0}", addressGroup.Key);

       foreach (Address address in addressGroup)

       {

           Console.WriteLine("\t" + address.AddressLine1 +

               address.AddressLine2);

       }

   }

}


示例


下面的示例使用 GroupBy 方法来返回按联系人姓氏的首字母分组的 Contact 对象。 这些结果还按姓氏的首字母进行排序,并投影到一个匿名类型。

C#


using (AdventureWorksEntities context = new AdventureWorksEntities())

{

   var query = context.Contacts

       .GroupBy(c => c.LastName.Substring(0,1))

       .OrderBy(c => c.Key);


   foreach (IGrouping<string, Contact> group in query)

   {

       Console.WriteLine("Last names that start with the letter '{0}':",

           group.Key);

       foreach (Contact contact in group)

       {

           Console.WriteLine(contact.LastName);

       }

   }

}


示例


下面的示例使用 GroupBy 方法来返回按客户 ID 分组的 SalesOrderHeader 对象。 同时还返回每个客户的销售数量。

C#


using (AdventureWorksEntities context = new AdventureWorksEntities())

{

   var query = context.SalesOrderHeaders

       .GroupBy(order => order.CustomerID);


   foreach (IGrouping<int, SalesOrderHeader> group in query)

   {

       Console.WriteLine("Customer ID: {0}", group.Key);

       Console.WriteLine("Order count: {0}", group.Count());


       foreach (SalesOrderHeader sale in group)

       {

           Console.WriteLine("   Sale ID: {0}", sale.SalesOrderID);

       }

       Console.WriteLine("");

   }

}


请参阅


   LINQ to Entities 中的查询



版权说明:
本网站凡注明“广州京杭 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
·上一条:Fiddler抓包工具总结 | ·下一条:Asp.net Web Applicatoin实现自定义HttpModule拦截异常处理

Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有    粤ICP备16019765号 

广州京杭网络科技有限公司 版权所有