2017-04-13 3 views
-5

GROUP BYでこの動作中のクエリを変換するにはどうすればよいですか?グループがほしいと言ってくださいo.NameLINQでグルーピングを支援する

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); 
} 
+2

次に、何かによってグループ化するだけで、選択したデータが選択された状態で返されるということはできません。 – Igor

答えて

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); 
} 
+0

これは動作します。ありがとうございました! – ceci