计算多对多关系中的非重复值
本文关键字:关系 计算 | 更新日期: 2024-10-30 05:32:43
我的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 不在任何组中。
也许是这样的:
var result = db.Users.Count(u => u.Groups.Any());
或者或者
var result = db.Groups.SelectMany(g => g.Users).Distinct().Count();