如何在ASP.NET MVC 5中访问AspNetUserRoles表

时间:2019-01-02 23:00:02

标签: c# asp.net-mvc asp.net-mvc-5 asp.net-identity asp.net-identity-2

我在项目中使用Identity 2,并且我想在视图中显示AspNetUserRoles的列表。但是我无法从数据库对象访问此表。如何在ASP.NET MVC 5中访问此表! 预先感谢您的帮助

2 个答案:

答案 0 :(得分:1)

您需要在要检索用户角色的视图上导入以下模型。

@model IEnumerable<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>   

然后您只需要对模型进行一次foreach,并获取其Name属性(item.Name),它将返回并显示例如管理员,员工等

答案 1 :(得分:1)

这将为您提供所有用户及其角色的列表。

using(var context = new YourContextName())
{
    var usersAndRoles = new List<UserRoleModel>(); // Adding this model just to have it in a nice list.
    var users = context.AspNetUsers;

    foreach(var user in users)
    {        
        foreach(var role in user.Roles)
        {
            usersAndRoles.Add(new UserRoleModel
            {
                UserName = user.UserName,
                RoleName = role.Name
            };
        }
    }
}

我还没有测试代码,可以有一种更好的方法。