繁体   English   中英

EF迁移不会自动更新数据库

[英]EF migrations not updating the database automatically

我启用了EF迁移,并希望更新在azure中运行的现有数据库。 当我运行应用程序时,我得到以下异常:

EntityFramework.dll中出现“System.InvalidOperationException”类型的异常,但未在用户代码中处理

附加信息:自创建数据库以来,支持“MyContext”上下文的模型已更改。 请考虑使用“代码优先迁移”来更新数据库( http://go.microsoft.com/fwlink/?LinkId=238269 )。

但是我启用了迁移。

Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());

internal sealed class Configuration : DbMigrationsConfiguration<MyContext>
{
    public Configuration()
    {
         AutomaticMigrationsEnabled = false;//have also tried true
    }
}

直到这个最新的提交一切都按预期自动工作,我没有更改初始化代码(只添加了新的迁移)。

如果我下载数据库并运行应用程序,我会得到相同的结果。 但是,如果我手动运行Update-Database一切都按预期工作。

有没有办法让这个通过代码运行,因为我无法在Azure中运行Update-Database。

我发现了我的(愚蠢的)错误,我没有改变初始化代码,但我设法取消注册它,所以它没有被调用。

我将它移动到我的上下文中的静态构造函数,所有人都很高兴。

static MyContext()
{
    Database.SetInitializer(new MigrateDatabaseToLatestVersion<MyContext, Configuration>());
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM