2016-07-07 83 views
0

我有兩個表,groupgroup_user_xrefLinq加入計數

我需要用一列來列出組,該列記錄了該組中有多少用戶。在一分鐘我有計數似乎只算組,因爲它總是返回1

到目前爲止,我有:

(from g in db.group 
join g2 in db.group_user_xref 
on g.ID equals g2.group_uid 
where g2.user_uid == user_auth_id 
group g by new { g.ID, g.group_name, g.group_code, g.owner_id, g2.user_uid} into x 
select new GroupSummary { ID = x.Key.ID, GroupOwner = x.Key.owner_id, GroupCode = x.Key.group_code, GroupName = x.Key.group_name, GroupCount = x.Count() }).ToList(); 

我怎樣才能獲得各組中的用戶數?

回答

1

group by加入也user id - 所以它可以讓你對每個組中的每個用戶分組 - 對於該count是一個

(from g in db.group 
join g2 in db.group_user_xref 
on g.ID equals g2.group_uid 
where g2.user_uid == user_auth_id 
group g by new 
{ 
    g.ID, 
    g.group_name, 
    g.group_code, 
    g.owner_id 
} into x 
select new GroupSummary 
{ 
    ID = x.Key.ID, 
    GroupOwner = x.Key.owner_id, 
    GroupCode = x.Key.group_code, 
    GroupName = x.Key.group_name, 
    GroupCount = x.Count() 
}).ToList() 
+0

真的可能只是做'組G2由g爲X ' – juharr

+0

@juharr我可以 - 只是試圖讓它更接近他所做的 - 因此它更清晰。當然,在他的代碼最後,他最好是做你寫的東西 –

+0

@GiladGreen謝謝你的幫助 – Dave