2

我有这个查询,它给了我一个用户所属的所有俱乐部的列表。有 3 个实体 User、Club、ClubMember。有一个多对多的关系,ClubMember 作为俱乐部和用户之间的关联。

 var clubs = db.Users
               .Where(u => u.UserName == User.Identity.Name)
               .SelectMany(u => u.ClubMembers)
               .Select(m => m.Club)
               .ToList();

在表格的每一行,我将包含一个链接,以显示俱乐部的其他成员。所以表格行看起来像这样;

Club1 - This is club one - "show all members"
Club2 - This is club two - "show all members"

现在我想做的是包含在“显示所有成员”链接中,包括成员的数量,所以它看起来像这样。

Club1 - This is club one - "show all members (25)"
Club2 - This is club two - "show all members (14)"

所以我的问题是如何修改查询以返回每个俱乐部的会员总数?

4

1 回答 1

3

可以肯定地说,在 Club 对象上也存在一个 ClubMembers 列表。因此,您的查询语句应该是这样的:

var clubs = db.Users
.Where(u => u.UserName == User.Identity.Name)
.SelectMany(u => u.ClubMembers)
.Select(m => new SomeType{ Club = m.Club, NumberOfMembers = m.Club.ClubMembers.Count()})
.ToList();
于 2012-12-06T20:59:29.530 回答