C# 使用LINQ进行实体计数

C# 使用LINQ进行实体计数,c#,entity-framework,linq-to-entities,C#,Entity Framework,Linq To Entities,我有一个查询,它提供了一个用户所属的所有俱乐部的列表。有3个实体用户、俱乐部、俱乐部成员。俱乐部和用户之间存在多对多的联系,俱乐部成员是俱乐部和用户之间的联系 var clubs = db.Users .Where(u => u.UserName == User.Identity.Name) .SelectMany(u => u.ClubMembers) .Select(m => m.C

我有一个查询,它提供了一个用户所属的所有俱乐部的列表。有3个实体用户、俱乐部、俱乐部成员。俱乐部和用户之间存在多对多的联系,俱乐部成员是俱乐部和用户之间的联系

 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)"

因此,我的问题是如何修改查询以返回每个俱乐部的成员总数?

可以肯定地说,俱乐部对象上也存在俱乐部成员列表。因此,您的查询语句应如下所示:

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();