0

使用的技术:

  • SQL Server 2012
  • ASP.NET MVC 4
  • 英孚 4.4
  • Windows 8 Pro(开发机器)
  • 视窗服务器 2012

我正在使用 EF,数据库更新由 EF 处理,但没有迁移,人少 + 时间短。我们投入生产,需要进行一些后期更改,没有迁移的 EF 使事情变得复杂,因为我们不能再删除表了。由于我们时间紧迫,我决定禁用集成 ( Database.SetInitializer<Context>(null);) 并手动进行所有更改(DB 和 POCO)。

现在我需要重新激活该功能。我的问题是,我现在可以在这个环境已经设置并且有大量数据的情况下激活迁移吗?

我读过这篇文章没有成功:

http://weblogs.asp.net/scottgu/archive/2010/08/03/using-ef-code-first-with-an-existing-database.aspx

我很感激任何帮助。

4

1 回答 1

1

我会考虑使用SQL Server Data Tools来更新您的生产环境。它提供的控制不仅仅是实体框架创建的内容(例如存储过程)。

如果您不知道更改了什么,请从更新 DbContext的. 然后使用 SSDT 将新创建的数据库与生产数据库进行比较。它将显示您在数据库模式中所做的更改并提供更新脚本。还支持基于现有数据的数据比较和“智能插入”。

于 2013-10-29T11:32:19.670 回答