如何在 IdentityUser 和 IdentityRole 之间创建多对多?
How can I create many to many between IdentityUser and IdentityRole?
我正在使用 Microsoft Identity,我需要与 IdentityUser
和 IdentityRole
创建多对多关系。我将 属性 作为 public virtual ICollection<Role> IdentityRoles { get; set; }
添加到 IdentityUser
class 并将 public virtual ICollection<User> IdentityUsers { get; set; }
添加到 IdentityRole
但是迁移添加了一个名为 RoleUsers
。
我想将现有的 UserRoles
table 用于多对多关系。
如何创建?
用户和角色已经是多对多了。
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);
}
我正在使用 Microsoft Identity,我需要与 IdentityUser
和 IdentityRole
创建多对多关系。我将 属性 作为 public virtual ICollection<Role> IdentityRoles { get; set; }
添加到 IdentityUser
class 并将 public virtual ICollection<User> IdentityUsers { get; set; }
添加到 IdentityRole
但是迁移添加了一个名为 RoleUsers
。
我想将现有的 UserRoles
table 用于多对多关系。
如何创建?
用户和角色已经是多对多了。
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);
}