如何在 IdentityUser 和 IdentityRole 之间创建多对多



我正在使用Microsoft身份,我需要与IdentityUserIdentityRole建立多对多关系。我正在将属性作为public virtual ICollection<Role> IdentityRoles { get; set; }添加到类IdentityUser并将public virtual ICollection<User> IdentityUsers { get; set; }添加到IdentityRole但迁移添加了一个名为 RoleUsers 的表。

我想将现有的UserRoles表用于多对多关系。

如何创建?

用户和角色已经是多对多了。

using (var context = new MyContext()) 
{     
    var usersAndTheirRoles = context.Users.Include(u => u.Roles).ToList();
    var rolesAndTheirUsers = context.Roles.Include(u => u.Users).ToList();
}

或者你想做一些不同的事情?

编辑:您可以从角色管理器获取身份角色:

var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
foreach (var iur in users.First().Roles)
{
    var identityRole = roleManager.FindById(iur.RoleId);
}

相关内容

  • 没有找到相关文章

最新更新