我有一个MVC 5应用程序。
我的自动迁移已停用:
public Configuration()
{
AutomaticMigrationsEnabled = false;
}
我修改了我的一个模型,并使用了EF迁移工具enable/add-migration
并在EF中运行了update-database
,我的数据库在我的开发机器上更新了。我测试了一切都很棒。
然后我使用Visual Studio发布项目将此版本部署到我的生产服务器但是为什么我仍然遇到同样的错误?
“支持'myContext'上下文的模型自创建数据库以来已发生更改。请考虑使用Code First Migrations更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。”
请告诉我,为了让我的作品更加有效,我还需要做些什么?
由于
更新
我遵循了这个帖子的建议
除其他解决方案外,您可以使用此
Database.SetInitializer(新
MigrateDatabaseToLatestVersion<BlogContext, Configuration>());
在哪里 BlogContext是您的上下文,Configuration是配置 生成的类(来自DbMigrationsConfiguration的降序) 首先是代码。当然你必须重新发布你的应用程序(至少是二进制文件 一部分)。
我基本上将这行代码添加到Application_Start
中的Global.asax.cs
,这似乎对我有用。我的生产数据库已更新。但是,我不确定这是否是一种安全的做法。这样做有风险吗?我不想丢失任何生产数据。