我的EF上有多对多的关系。
Select * from [Group]
Select * from [User]
select * from [RelUserGroup] //relation between ground and users
我想知道我在桌子RelUserGroup上有多少区域用户。这在SQL上非常简单,但在EF中我没有这个表。
我如何计算所有群组中的用户数量!
Group
GroupId Name
----------- ------------------
1 DCE Administrators
2 Dispatcher
3 Team Managers
4 Resolver
5 Requestor
User
UserId UserName
----------- ---------
1 anderson
2 Fabio
RelUserGrou
GroupId UserId
----------- -----------
1 1
2 1
4 1
在这种情况下,我的计数是1,因为userId = 2不在任何组中。
答案 0 :(得分:2)
也许是这样的:
var result = db.Users.Count(u => u.Groups.Any());
或者
var result = db.Groups.SelectMany(g => g.Users).Distinct().Count();