我首先使用实体框架代码创建了一个 MVC 项目。该项目有一个相当大的数据库,并且正在生产中。现在,我正在添加一大组新功能,这些功能将使数据库的大小(表数)几乎翻倍。在我开发它时,我希望对 POCO 对象和 Fluent 模型构建逻辑进行大量调整。但是,我不想进行 100 次“迁移”,因为我做的改动很小。
如果我先做数据库,我会更改数据库并迭代地重新创建模型。完成后,我可以将最终模式与之前的模式进行比较并创建更改脚本。
我倾向于创建一个新的临时 DbContext 并为那里的新表开发我的 Code First 模型,在我迭代时从头开始重新创建一个新数据库。然后,当我拥有满意的模型时,将其移至主 DbContext 并创建一个大迁移。但这似乎很痛苦。它还存在一个问题,即新对象和现有对象之间存在一些需要放置到位的关系。
所以,我的具体问题是如何对 Code First 数据库进行许多小的更改:
- 无需重新创建现有数据库
- 并且没有为我要测试的每个更改创建(永久)迁移