我使用EF Core查询一些具有多对多关系的表格。
表Rooms
:
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[Title] [nvarchar](1024) NOT NULL,
表RoomMembers
:
[ID] [bigint] IDENTITY(1,1) NOT NULL,
[RoomId] [bigint] NOT NULL,
[UserId] [nvarchar](450) NOT NULL
表AspNetUsers
:
[Id] [nvarchar](450) NOT NULL
<...SNIP...>
我希望将Room
列与成员的Count
一起返回(即相应的RoomMember
行数)。
我尝试了以下内容:
var result = context
.Rooms
.Select(r => new
{
Room = r,
MemberCount = r.RoomMembers.Count()
})
.ToList();
然而,这导致多个Count
查询。是否有更合理的方法可以在单次SQL Server中实现所需的结果?