我在Entity Framework 6.0上.这是一个发展问题,而非生产问题.
我认为我的战略存在冲突.目前,我有一个DropCreateDatabaseIfModelChanges 数据库初始化程序集,并在Configuration.cs中使用种子方法启用了迁移.在添加迁移和运行更新数据库时,关于何时删除并重新创建数据库以及种子方法运行时,似乎是一个幸运的延迟.事实上,这是一个完整的乐透,无论何时发生,我必须采取各种技巧让事情发挥作用.有人可以告诉我,如果同时启用了数据库初始化和迁移,那么是否存在冲突.谢谢
那是不合适的组合。有一个MigrateDatabaseToLatestVersion初始化程序可用于迁移。
在早期开发期间,您可能需要使用DropCreateDatabaseIfModelChanges初始化程序(或CreateDatabaseIfNotExists)。对于初始化程序,有一个特殊的Seed()方法仅在创建数据库时运行。
一旦达到需要重新设置数据库内容的位置,就可以切换到迁移。更改您的初始化程序并启用迁移。请确保添加初始基准迁移(add-migration Initial -IgnoreChanges),这样您才能在此之后获得更改。现在,您可以添加每次在更新数据库时运行的迁移种子,而不是仅在创建数据库时才运行的初始化种子。
如果需要重新创建数据库,则可以生成一个幂等脚本,该脚本将创建数据库并应用所有迁移。
| 归档时间: |
|
| 查看次数: |
1281 次 |
| 最近记录: |