表达式 'u.Roles.AsQueryable().Select(r => r.Name)' 在 'Include' 操作中无效
The expression 'u.Roles.AsQueryable().Select(r => r.Name)' is invalid inside an 'Include' operation
我在尝试让用户使用他们的角色时遇到问题。我想要做的是让用户拥有相应的角色,但只有 roles: ["ADMIN", "USER"]
.
等角色的价值
这是我的代码:
public async Task<ActionResult<IEnumerable<User>>> GetAll()
{
return await _context.User.Include(u => u.Roles.Select(r => r.Name)).ToListAsync();
}
Include
用于通过外键或导航属性从上下文中加载相关实体。
我认为您应该按以下方式重写您的查询:
_context
.User
.Select(user => new { user, rolesNames = user.Roles.Select(role => role.Name) })
.ToListAsync()
角色将包含在 Select
查询中。 (有关更多详细信息,请参阅@Svyatoslav Danyliv 的评论)。
我在尝试让用户使用他们的角色时遇到问题。我想要做的是让用户拥有相应的角色,但只有 roles: ["ADMIN", "USER"]
.
这是我的代码:
public async Task<ActionResult<IEnumerable<User>>> GetAll()
{
return await _context.User.Include(u => u.Roles.Select(r => r.Name)).ToListAsync();
}
Include
用于通过外键或导航属性从上下文中加载相关实体。
我认为您应该按以下方式重写您的查询:
_context
.User
.Select(user => new { user, rolesNames = user.Roles.Select(role => role.Name) })
.ToListAsync()
角色将包含在 Select
查询中。 (有关更多详细信息,请参阅@Svyatoslav Danyliv 的评论)。