我想向所有用户展示他们的角色。我想在ApplicationUser类中做类似的事情:
public string RoleId {get; set;}
[ForeignKey("RoleId")]
public UserManager Role {get; set;}
当然这并没有返回正确的结果,但我认为可能有一个解决方法......
答案 0 :(得分:0)
默认标识模式使用UserRoles
表将用户的角色与它们相关联。如果您实施了自定义IdentityDbContext<>,则可以在ApplicationUser
,UserRole
和IdentityRole
实施之间创建外键关系。
public class ApplicationUser
{
public List<UserRole> UserRoles { get; set; }
}
public class UserRole
{
public string UserId { get; set; }
[ForeignKey(nameof(UserId))]
public ApplicationUser User { get; set }
public string RoleId { get; set; }
[ForeignKey(nameof(RoleId))]
public IdentityRole Role { get; set }
}
IQueryable<ApplicationUser> GetUsers(IdentityDb db)
{
return db.Users.Include(u => u.UserRoles).ThenInclude(ur => ur.Role);
}