C# 在LINQ中帮助分组
如何使用C# 在LINQ中帮助分组,c#,linq,C#,Linq,如何使用分组依据转换此工作查询?说我想按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
分组依据
转换此工作查询?说我想按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);
}
List-VMList=new
List();
var query_1=(从数据库事务中的t开始
将c加入db.Customers中,t.CustomerID等于c.CustomerID
在c.CustomerID上的db.Orders中加入o等于o.CustomerID
其中t.CommerceTransID!=null&&o.Name==“VIP票”
选择新{Name=c.firstName,TransID=t.CommerceTransID,
Tipo=o.Type,Nombre=o.Name});
foreach(查询_1中的变量项)
{
MultipleTableQueryResultVM objcvm=新的MultipleTableQueryResultVM();
objcvm.firstName=item.Name;
objcvm.CommerceTransID=item.TransID;
objcvm.Type=item.Tipo;
objcvm.Name=item.Nombre;
VMList.Add(objcvm);
}
测试这个
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);
}
然后呢。。。。您不能只按某个内容分组,然后对select中返回的已定义数据不执行任何其他操作。这是有效的。非常感谢。