【问题标题】:Best alternative to periodically change the underlying EF model定期更改基础 EF 模型的最佳替代方案
【发布时间】:2012-07-06 18:45:53
【问题描述】:

我正在使用实体框架 4 和模型优先方法开发一个 C# 应用程序(我有一个模型,我从中生成我的数据库表和类)。

每当客户提出更改请求时,定期更改数据库架构(表定义等)的最佳方式是什么? (删除整个数据库并对其应用生成的模型 SQL 显然不是一种选择,因为数据库中的所有数据都会丢失。)

希望有人可以给我一个提示。

【问题讨论】:

  • 实体不是自己做的吗?以您喜欢的方式更新 DB 模式(我猜是 SQL ALTER 脚本),然后右键单击并从 DB 更新模型?也许我误解了你的问题,它与实体无关:一般数据库更新用例?

标签: c# .net entity-framework ef-model-first


【解决方案1】:

对于我们的模型优先数据库更新,我们将生成的数据库放入第二个“diff”数据库。然后,我们使用 Open DB diff:http://opendbiff.codeplex.com/ 或 redgate 的 SQL 比较器:http://www.red-gate.com/products/sql-development/sql-compare/ 等工具生成更改脚本。

生成的脚本通常会创建一个安全的数据库导出,并保留您的数据。但是,最好检查生成的脚本实际上做什么,以防止任何数据丢失。

【讨论】:

    【解决方案2】:

    数据库项目。您可以与本地或开发数据库进行模式比较,然后针对生产数据库生成变更。简单且源代码可控。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 2017-06-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多