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中返回的已定义数据不执行任何其他操作。这是有效的。非常感谢。