【发布时间】:2013-07-23 09:31:53
【问题描述】:
从头开始从事一个全新的项目。这意味着数据模型处于不断变化之中,加倍如此,因为事情不可避免地没有像应有的那样精心计划。模型类的创建和更改相当有规律。
计划是使用最新版本的 EF,其中包含所有简洁的代码优先内容。但是我们不断地超越框架在添加或更新表方面的限制。初始化选项似乎只允许完全删除和重新创建数据库,这并不理想。
我查看了迁移。但这似乎是一把大锤来破解一个坚果:我们不需要详细说明每一个小的变化并使用新的迁移脚手架进行更新。
有没有更好的策略来解决这个问题?例如,我开始编写一些单元测试来使用一些测试数据预先填充其中一个上下文,但是因为这会导致整个 Db 下降并重新创建,它会导致所有其他上下文出现问题。或者也许使用自定义初始化程序为我们播种数据?我们如何在生产代码中轻松排除这些?
我们也想知道是否可能放弃代码优先并回到 EDMX 图。至少这种方式的更改会导致更新的 SQL 命令可以直接针对数据库运行。
任何建议都非常感谢。
【问题讨论】:
-
您可以在不删除的情况下迁移数据库。如果该模型在 Flux 中……对我来说,早期重新播种似乎是公平的。
标签: entity-framework ef-code-first code-first entity-framework-migrations