如何在 Entity Framework 6 Code-First 中更改模型而不丢失生产数据?

How to change models without losing data in production in Entity Framework 6 Code-First?

我正在使用 Entity Framework 6 Code-First,我的应用程序正在生产中。我必须在不丢失任何数据的情况下对我的模型进行一些更改。

我必须执行如下更改:

我需要种子数据库之类的东西,但我需要在更改模型之前加载数据以便稍后再次插入...我需要移动数据。当我更改关系时,我不会丢失数据,但关系会丢失。

我怎样才能完成这个过程?

非常感谢您的帮助。

我建议您按照以下步骤操作:

  1. 创建代表受影响表的数据和关系的临时表。确保您在 EF 之外执行此操作,使用 CREATE TABLE sql
  2. BEFORE 运行ning Update-Database, 运行 将数据从相关表移动到临时表的脚本
  3. 运行 Update-Database
  4. 运行 用于将数据和关系插入新表的脚本
  5. 删除临时表