public class GroupBy_LINQ { static string ContextString = System.Configuration.ConfigurationSettings.AppSettings["ContextString"].ToString(); static DataContext context = new DataContext(ContextString); static Table<SalesOrderHeader> orders = context.GetTable<SalesOrderHeader>(); public static void GroupBy_Print() { var groupByQuery = orders.Where(ord => ord.SalesPersonID > 0 && ord.SalesPersonID!=null).GroupBy(ord => ord.SalesPersonID, order => order.CustomerID); foreach (var item in groupByQuery) { Console.WriteLine(item.Key); foreach (var o in item) { Console.WriteLine(" " + o.ToString()); } } Console.ReadKey(); } public static void GroupBy_Print2() { // 混合语法,因为GroupBy在查询语法中不能使用 var groupByQuery = (from o in orders where o.SalesPersonID > 0 && o.SalesPersonID != null select o).GroupBy(ord => ord.SalesPersonID, ord => ord.CustomerID); foreach (var item in groupByQuery) { Console.WriteLine(item.Key); foreach (var o in item) { Console.WriteLine(" " + o.ToString()); } } Console.ReadKey(); } }