【发布时间】:2021-12-13 14:01:05
【问题描述】:
我正在尝试在 EF Core 中使用过滤包含,但遇到了一个我似乎无法确定具体原因的问题。
我的查询如下所示:
context.Users.Include(u=>u.UserRoles.Where(r => r.Role.Category == 3))
.ThenInclude(r=>r.Role).Where(u => u.userId == currentUserId)
.Select(u=> new UserDTO()
{
UserDisplayName= u.Name,
ListOfRoles = String.Join(",", u.UserRoles.Select(u => u.Role.DisplayName))
}).FirstOrDefaultAsync();
如果我从查询中省略 Select 部分并检查对象,则它仅填充适当的 UserRoles,属于类别 3 的那些,但在检查此 Select 的结果时,它还包含属于的角色到不同的类别,连接到 ListOfRoles。
如果有人知道可能是什么原因,我将不胜感激。
谢谢
【问题讨论】:
-
投影(选择新...)禁用
Includes。 -
谢谢你的提示,它回答了我的问题
标签: c# .net entity-framework linq entity-framework-core