0

我目前正在查看实体框架并使用 Code First 示例。到目前为止,我可以看到框架无法轻松处理模型更改:每当我想向类/表添加另一个字段时,框架都会删除整个数据库并从头开始创建它。

我在 (N)Hibernate 中看到的类似行为。(我可能错了,很久以前)

没关系,只要我在做教程。当涉及到实际项目时,您无法承受每次需要表中的新字段时都删除数据库。

想象一下场景,您正在与许多客户一起开展一个项目。每个客户都有自己的数据库。在 1.0.1 版中,我需要在其中一个表中添加一个新字段。如果我在我的开发环境中删除数据库 - 没什么大不了的。(不过,每次删除数据库时,我都需要运行一个脚本来填充测试数据,有时甚至这也不可行)

但是当我需要部署这个新版本时我该怎么办?制作一个 SQL 脚本来更新客户端的数据库而不删除它们?然后部署二进制文件?

但这比将数据库模块与代码更改分开有什么好处呢?

4

1 回答 1

3

(对不起,我的英语不好)

这正是存在 Code First 迁移的原因。看看这里(自动迁移)这里(基于代码的迁移)

于 2012-05-04T07:58:50.487 回答