我在发布MVC项目时遇到了问题。
我收到错误“自创建数据库以来,支持'ApplicationDbContext'上下文的模型已经更改。请考虑使用Code First Migrations更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。”,这是在帮助下解决的automigrations。
我通过ftp在另一台机器上发布了我的项目,然后在模型结构上添加了一些更改,在我的计算机上运行它,它成功完成并再次在另一台机器上发布。当我尝试在那里运行时,发生错误 - “自创建数据库以来,支持'ApplicationDbContext'上下文的模型已更改。请考虑使用Code First Migrations更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。”
我在Windows 7上使用IIS7。
答案 0 :(得分:2)
要更新另一台Db服务器上的数据库,您可以这样做:
Update-database
命令,在某些情况下,您需要使用-force
标志。但要小心,这可能会删除一些您的数据。此命令还有 - ConnectionStringName参数,这可以帮助您进行更新。这是一种非常糟糕的方法,我不建议以这种方式更新数据库。
我建议你为你的上下文设置Initialzier。我通常使用MigrateDatabaseToLatestVersion
,在更改模型后,您需要使用Add-migration
命令添加新的迁移。
要设置它,请在应用程序启动方法中使用此命令:
Database.SetInitializer<ApplicationDbContext>(new MigrateDatabaseToLatestVersion<ApplicationDbContext>());
答案 1 :(得分:0)
更改模型后,您必须更新数据库。另一台机器和你的电脑使用相同的数据库?如果不是,您必须更新此数据库。