我正在尝试获取应用程序中所有角色的列表。我查看了以下Getting All Users...帖子和其他来源。这是我的代码,我想这是我应该做的。

var roleStore = new RoleStore<IdentityRole>(context)
var roleMngr  = new RoleManager<IdentityRole>(roleStore);
List<string> roles = roleMngr.Roles.ToList();

但是,我得到了以下错误:无法隐式地将typeGenericList(IdentityRole)转换为List(string)。有什么建议吗?我正在尝试获取列表,以便可以在注册页上填充下拉列表以将用户分配给特定角色。使用aspnet 4.5和identity framework 2(我认为)。
ps我也尝试过roles.getAllRoles方法,但没有成功。

最佳答案

看着你的参考链接,质疑它本身,很明显,角色管理器(rolemngr)是一种类型的identityrole,因此,如果你试图获得角色列表,角色必须是相同的类型。
使用var代替List<string>或使用List<IdentityRole>

var roleStore = new RoleStore<IdentityRole>(context);
var roleMngr = new RoleManager<IdentityRole>(roleStore);

var roles = roleMngr.Roles.ToList();

希望这有帮助。

关于c# - 试图获得身份中的所有角色,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27090227/

10-17 02:40