我正在使用 ASP Identity 的
UserManager
来获取特定角色的用户。
var members = await _userManager.GetUsersInRoleAsync("Member");
var leaders = await _userManager.GetUsersInRoleAsync("Leader");
我的问题是我的
User
实体与另一个实体有关系。通常我会在数据上下文中执行:
public async Task<IEnumerable<AppUser>> GetUsersAsync()
{
return await _context.Users
.Include(u => u.Projects)
.Include(u => u.School)
.ToListAsync();
}
但是
Include
没有UserManager
方法。这里有什么替代方案?
只需继续使用您为数据上下文发布的相同语法即可。但这里使用您的原始用户列表,而不是从上下文中获取用户。
public async Task<IEnumerable<AppUser>> GetUsersAsync()
{
return await members
.Include(u => u.Projects)
.Include(u => u.School)
.ToListAsync();
}
这应该会为您提供之前从 userManager 获得的现有用户的所有相关实体。
UserManager
只是用户存储的包装,它根据角色为您提供一组不同的用户。