问题背景
在我的Web应用程序中,我一直在使用ASP.NET Identity。我通过从IdentityUser继承User类来创建自定义用户配置文件。为了能够将Roles与例如角色组连接,我还在我的数据库中创建了一个继承自IdentityRole类的自定义角色类。
我的数据库模型如下所示:
问题不在于创建用户。 这只是起作用:
var userManager = new UserManager<User>(new UserStore<User>(_context));
var result = userManager.Create(user, password);
与创建角色相同。
var rm = new RoleManager<Role>(new RoleStore<Role>(_context));
var result = rm.Create(new Role(name));
问题
但是当我尝试将角色附加到用户时(使用以下代码)
var um = new UserManager<User>(new UserStore<User>(_context));
var result = um.AddToRole(userId, roleName);
我得到的错误基本上是“实体类型IdentityRole不是当前上下文模型的一部分。”
这是真的,顺便说一下。但是我怎样才能使我的Role实体被视为IdentityRole实体,它基本上是或者必须是。
请在此处查看完整的堆栈跟踪:http://pastebin.com/sEPv5LiT
提前致谢!
答案 0 :(得分:0)