我在实体框架6.0。这是一个发展问题,而不是生产。EF代码优先数据库初始化和迁移混乱
我认为我有一个相互冲突的策略。 目前我有一个DropCreateDatabaseIfModelChanges 数据库初始化程序设置并使用种子方法在Configuration.cs启用迁移。 在添加迁移和运行更新数据库时,似乎像是何时删除并重新创建数据库以及何时运行种子方法一样幸运。 事实上,这是一个总的抽奖,当两者都发生时,我必须拉各种技巧才能使事情发挥作用。 有人可以告诉我是否有数据库初始化程序和迁移启用冲突。 谢谢
谢谢史蒂夫,最后一个comon意义上解释这个东西是如何工作的。我已经启用了迁移功能,并且有20多次迁移试图让这个东西起作用。因此,我将初始化程序更改为MigrateDatabaseToLatestVersion,并使用迁移种子来添加或更新种子数据。 – ShaunK
另外,我已经创建了初始迁移。我需要再次使用-IgnoreChanges来做到这一点,如果有的话,为什么。谢谢 – ShaunK
取决于您是否有其他数据库,如TEST,PROD或其他处于不同状态的Dev机器。如果是这种情况,您需要将它们全部放在同一页面上。如果这只是单个数据库并且所有更改都已应用,则可以删除所有迁移,删除__MigrationHistory中的所有记录并执行新的初始迁移-IgnoreChanges。现在,您的所有更改都将跟踪向前发展。 –