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();
}
}