2016-07-07 2 views
0

나는 두 개의 테이블 groupgroup_user_xref을 가지고 있습니다.카운트가있는 Linq 가입

해당 그룹에있는 사용자의 수를 계산하는 열이있는 그룹을 나열해야합니다. 분에서 내가 가지고있는 수는 항상 지금까지 내가 가지고있는 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에 추가 - 그래서 그것은 당신에게 각 그룹의 각 사용자에 대한 그룹을 제공합니다 - 그리고 정말 그냥 X로 g으로 '그룹 (G2)을 할 수있는 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

것을위한 ' – juharr

+0

@juharr 내가 할 수있는 일에 더 가까이 다가려고 노력했다. 물론 그의 코드에서 마지막으로 그는 당신이 쓴 것을 더 잘합니다 –

+0

@GiladGreen 당신의 도움에 감사드립니다. – Dave