合并实体框架中的迁移条目

Rah*_*han 10 .net c# entity-framework ef-migrations entity-framework-6

我有一个实体框架6 CF项目,已经有一些迁移.

该模型现在是稳定的,无需保留已存在的迁移历史记录.

有没有办法重置模型并将所有迁移命令合并到初始迁移中?

例如,第一次迁移会添加一列,而第二次迁移会添加唯一的非聚集索引.我现在希望直接在OnModelCreating而不是在单独的迁移中查看所有这些更改.

Cla*_*ies 6

迁移有UpDown.您始终可以通过撕下迁移然后添加新迁移来重新支持您的应用程序.该Down过程不会更改您的模型,只会更改数据库的更改.使用Update-Database -Target:migrationTargetNameUpdate-Database -TargetMigration:migrationNumber.

如果您希望迁移从无数据库开始并以当前模型结束,则可以删除所有迁移Update-Database -TargetMigration:0.拆除数据库然后Update-Database作为测试运行以验证数据库更改是否全部同步是一个好主意.

请记住,如果您将迁移分解为0然后运行Add-Migration,则需要仔细查看生成的支架,因为它可能与增量更改有很大不同.

  • 由于我不熟悉该术语,因此到目前为止,这是我所了解的。将数据库降级为迁移“ 0”,将撤消所有“ Up”,执行所有“ Down”,并将数据库重置为“ InitialMigration”。我不知道如何将“更新数据库”同步到当前数据库模型。它会自动生成一个单独的“上”和“下”吗,这样生成的模型就是我在拆除它们之前开始的模型吗? (2认同)