ASP 4.5中的MVC,RecreateDatabaseIfModelChanges

时间:2016-02-17 14:48:11

标签: c# asp.net .net asp.net-mvc asp.net-mvc-4

我正在尝试将其设置为自动刷新数据库。我已经在这里阅读了其他帖子,并尝试了解决方案,但我无法让它工作。我正在使用ASP.NET Framework 4.5。我只添加了3个模型及其控制器,但我无法在Web浏览器中访问它们。从我读过的内容是因为当我对控制器进行任何更改时,数据库没有正确地与它同步。我已经使用Enable-Migrations尝试了Package Manager控制台,并且我已经进入了Global.asax.cs,Application_Start()并输入:

Database.SetInitializer<This>(new DropCreateDatabaseIfModelChanges<This>());

我的数据库和项目名为This,因为它只是我即将推出的项目的一个游戏演示。在数据连接下,它将我的数据库列为ThisContext(This),所以我也使用/试过:

Database.SetInitializer<ThisContext>(new DropCreateDatabaseIfModelChanges<ThisContext>());

1 个答案:

答案 0 :(得分:0)

要使用自动迁移,您必须暂停以下步骤:

每次更改模型后,请转到程序包管理器控制台并添加新的迁移

add-migration MigrationName

在Configuration类中设置AutomaticMigrationsEnabled = false;

 public Configuration()
    {
        AutomaticMigrationsEnabled = false;
        ContextKey = "ReferresManager.Models.ApplicationDbContext";
    }

在Global.asax set

protected void Application_Start()
{
        var migrator = new DbMigrator(new Configuration());
        migrator.Update();

        AreaRegistration.RegisterAllAreas();