mvc发布自动出现错误

时间:2014-11-04 13:58:37

标签: c# asp.net-mvc

我在发布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。

2 个答案:

答案 0 :(得分:2)

要更新另一台Db服务器上的数据库,您可以这样做:

  1. 配置连接字符串以使用新服务器
  2. 从包管理器控制台运行Update-database命令,在某些情况下,您需要使用-force标志。但要小心,这可能会删除一些您的数据。此命令还有 - ConnectionStringName参数,这可以帮助您进行更新。
  3. 这是一种非常糟糕的方法,我不建议以这种方式更新数据库。

    我建议你为你的上下文设置Initialzier。我通常使用MigrateDatabaseToLatestVersion,在更改模型后,您需要使用Add-migration命令添加新的迁移。

    要设置它,请在应用程序启动方法中使用此命令:

    Database.SetInitializer<ApplicationDbContext>(new MigrateDatabaseToLatestVersion<ApplicationDbContext>());
    

答案 1 :(得分:0)

更改模型后,您必须更新数据库。另一台机器和你的电脑使用相同的数据库?如果不是,您必须更新此数据库。