gpt4 book ai didi

entity-framework - 首先使用 EF 代码更改数据库架构时最简单的做法是什么

转载 作者:行者123 更新时间:2023-12-03 07:36:43 25 4
gpt4 key购买 nike

首先我是 EF 代码新手。我在生产中有一个现有数据库,我首先使用 EF 4.3.1 代码,一切正常。现在我刚刚更新了我的数据库架构并得到了异常

System.InvalidOperationException: The model backing the 'MyDbContext' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).

我无法使用 DropCreateDatabaseIfModelChanges,因为它正在生产中,应对架构更改的最简单方法是什么?

谢谢。

最佳答案

由于 EF-CF 迁移是一个相当新的概念,我建议采用古老的经过验证的流程并对其进行修改,以与我们的新工具(例如 EF)一起使用。这就是我们所做的:

  1. 使用DropCreateDatabaseIfModelChanges为了本地的发展。这将允许您使本地开发副本与您的模型(在代码中)保持同步。每次构建/运行时,您都会获得更新的本地数据库。您还可以使用初始化程序来加载测试数据等。Database.SetInitializer<DBContextNameHere>(new DBContextInitializerNameHere());

  2. 使用 RedGate 的 SQLCompare 工具将本地开发与生产进行比较,并自动生成用于部署的更改脚本。 (注意:您还可以从工具自动部署)

http://www.red-gate.com/products/sql-development/sql-compare/index-b

主要好处是您不必更改本地开发流程,并且可以通过生成的脚本获得可重复的版本化部署。您还可以将其与 SQL 源代码控制工具结合使用,以将所有 SQL 对象和部署脚本(甚至数据)保留在源代码控制中。

不,我不为这些人工作,我只是喜欢他们的工具以及它如何帮助我解决同样的问题。

关于entity-framework - 首先使用 EF 代码更改数据库架构时最简单的做法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10981932/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com