繁体   English   中英

如何在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. 创建代表受影响表的数据和关系的临时表。 确保使用CREATE TABLE sql在EF之外执行此操作
  2. 运行Update-Database 之前 ,运行脚本将数据从相关表移动到临时表
  3. 运行Update-Database
  4. 运行脚本以将数据和关系重新插入到新表中
  5. 放置临时表

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM