2016-07-07 12 views
0

私は2つのテーブル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 byuser idに追加 - それはあなたに、各グループ内のユーザごとにグループ分けを与える - と本当にちょうどXにグラムで `グループg2を行うことができcountは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 
} 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