gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:13:13 25 4
gpt4 key购买 nike

我启用了 EF 迁移,并且想要更新在 azure 中运行的现有数据库。当我运行该应用程序时,出现以下异常:

An exception of type 'System.InvalidOperationException' occurred in EntityFramework.dll but was not handled in user code

Additional information: The model backing the 'MyContext' context has changed since the database was created. Consider using Code First Migrations to update the database (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 中运行更新数据库。

最佳答案

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

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

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

关于c# - EF 迁移不会自动更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21951566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com