如何使用GROUP BY
转换此工作查询?假设我想按o.Name
分组。
List<MultipleTableQueryResultVM> VMList = new
List<MultipleTableQueryResultVM>();
var query_1 = (from t in db.Transactions
join c in db.Customers on t.CustomerID equals c.CustomerID
join o in db.Orders on c.CustomerID equals o.CustomerID
where t.CommerceTransID != null && o.Name == "VIP Tickets"
select new { Name = c.firstName, TransID = t.CommerceTransID,
Tipo = o.Type, Nombre = o.Name });
foreach (var item in query_1)
{
MultipleTableQueryResultVM objcvm = new MultipleTableQueryResultVM();
objcvm.firstName = item.Name;
objcvm.CommerceTransID = item.TransID;
objcvm.Type = item.Tipo;
objcvm.Name = item.Nombre;
VMList.Add(objcvm);
}
答案 0 :(得分:0)
测试一下。
foreach (var item in query_1.GroupBy(x=> x.Name).Select(x=> x.First()))
{
MultipleTableQueryResultVM objcvm = new MultipleTableQueryResultVM();
objcvm.firstName = item.Name;
objcvm.CommerceTransID = item.TransID;
objcvm.Type = item.Tipo;
objcvm.Name = item.Nombre;
VMList.Add(objcvm);
}