如何获得IdentityUser角色'在视图中的名字?

时间:2014-11-24 02:59:45

标签: entity-framework asp.net-mvc-5 asp.net-identity navigation-properties ef-fluent-api

使用ASP.NET MVC5用户身份,我试图在视图中显示IdentityUser的角色名称。

似乎Identity用户具有Roles属性,它表示IdentityUserRole的集合,而不是IdentityRole。差异为IdentityUserRole表示IdentityUserIdentityRole之间的关联,而IdentityRole为实际Role模型 [+] < / SUP> 即可。显然,IdentityUser和IdentityRole之间没有定义导航。所以我们得到的是来自IdentityUserRole的RoleId。

  1. 是否有一种简单的方法来获取角色名称?
  2. 使用Fluent API,我们可以在IdentityRoleIdentityUserRole之间定义虚拟导航属性,轻松获取名称 整个项目?
  3. 如果是设计,那么不让我们直接获得IdentityRole有什么好处?

1 个答案:

答案 0 :(得分:-1)

您可以使用rolemanager

选择身份中的用户名称
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(this.dbcontext));
来自用户的

获取用户角色,然后从该角色中选择名称

roleManager.FindById(user.RoleId).Name