ASP.NET MVC - 实体类型IdentityRole不是当前上下文的模型的一部分

时间:2017-03-19 11:36:27

标签: asp.net-mvc entity-framework ef-code-first

我按照本指南为我正在开发的网站添加安全性:

ASP.NET MVC 5 Security And Creating User Role

问题在于,当我开始使用它时,我在应用程序中有两个连接字符串:defaultconnection和真正的连接字符串(由我创建)。

我已经替换了默认设置,无论它在哪里使用,现在当我尝试启动应用程序并运行代码来创建用户角色时:

public partial class Startup
{
    public void Configuration(IAppBuilder app)
    {
        ConfigureAuth(app);
        createRolesandUsers();
    }

    // In this method we will create default User roles and Admin user for login   
    private void createRolesandUsers()
    {
        DatabaseContext db = new DatabaseContext();

        var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(db));
        var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db));

        if (!roleManager.RoleExists("Admin"))
        {
            var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();
            role.Name = "Admin";
            roleManager.Create(role);
        }

总是失败:

if (!roleManager.RoleExists("Admin"))

错误:

  

实体类型IdentityRole不是当前上下文的模型的一部分。

我在defaultconnection数据库(我已经删除)中看到有几个与Users相关的表。

我希望应用程序也可以在新数据库中创建它们,但它无法正常工作。

我已经检查了几个问题并发布了相同的错误,但它们似乎都没有解决我的错误......

关于如何解决这个问题的任何想法?

0 个答案:

没有答案