1
我想比较两个不同表中的两个列表UserGroup
使用单个查询,即通过不多次访问数据库。比较匹配元素在Iqueryable中使用单个查询
当前我在一个查询中提取所有分配的UserGroup
,并与其他查询中允许的所有Usergroup
进行比较。
var query = _context.AppSubOperationUserGroupMappings.Where(filterPredicate)
.Select(x => x.UserGroup)
.ToList();
var allowedUserGroups = _context.Users.Where(x => x.Id == userId)
.Select(x => x.UserGroupUserMappings.Select(y => y.UserGroup))
.First()
.ToList();
return query.Any(a => allowedUserGroups.Any(b => b.Id == a.Id));
如何将它们合并到单个查询中?
您是否尝试过简单地丢弃'.ToList'在查询中。这应该导致一个数据库查询。 – Sefe