2012-11-29 70 views
1

問題:我們可以在LINQ 做出GROUPBY到多個領域目前 - 我有LINQ這樣的事情LINQ + GROUPBY - 在選擇查詢字段添加

q = q.GroupBy(c => c.Id) 
    .Select(g => new View 
        { 
         Id = g.Key, 
         ENAME= string.Join(",", g.Select(x => x.CaseApprover).ToList()) 
        }); 

我想組由多個領域的類似

q = q.GroupBy(c => c.Id, c.name,c.age,c.dob) 

也如何把他們在選擇查詢?這樣我也會在選擇查詢中獲得新增的字段。

+1

開始於'q.GroupBy(c => new {c.Id,c.name,c.age,c.dob})' –

+0

但是如果我使用這段代碼,我在Id = g時出錯。 Key「不能將anonymoustype#1轉換爲int –

+1

'Id = g.Key.Id' –

回答

1

試試這個:

q = q.GroupBy(c => new { c.Id, c.name,c.age,c.dob }) 
    .Select(g => new 
    { 
     Id = g.Key.Id, 
     ENAME= string.Join(",", g.Select(x => x.CaseApprover).ToList()), 
     Name = g.Key.name, 
     Age = g.Key.age, 
     Dob = g.Key.dob, 
    }); 

這將返回一個匿名類型,如果你想在你的View類這些領域中,只要加入他們。