我正在使用Microsoft Identity,我需要与IdentityUser
和IdentityRole
创建多对多关系。我将public virtual ICollection<Role> IdentityRoles { get; set; }
的属性添加到IdentityUser
类,将public virtual ICollection<User> IdentityUsers { get; set; }
添加到IdentityRole
,但迁移会添加一个名为RoleUsers
的表。
我想将现有的UserRoles
表用于多对多关系。
我该如何创作?
答案 0 :(得分:1)
用户和角色已经有很多人。
using (var context = new MyContext())
{
var usersAndTheirRoles = context.Users.Include(u => u.Roles).ToList();
var rolesAndTheirUsers = context.Roles.Include(u => u.Users).ToList();
}
或者你想要做些不同的事情吗?
编辑:您可以从角色管理器获取IdentityRoles:
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
foreach (var iur in users.First().Roles)
{
var identityRole = roleManager.FindById(iur.RoleId);
}