我们正在使用Code First迁移并使用Application_Start事件中的DBMigrator.Update()来应用它们。最近,在部署新迁移时,我们从Application_Start中获得了以下异常:
PK_dbo ._ MigrationHistory”。无法在对象中插入重复键 'DBO。 _MigrationHistory'。重复的键值是 (201312020928218_ModifyReport)
这表明1)Application_Start运行了多次,2)代码首次迁移不使用事务来防止多次尝试同一次迁移。如果是这样,我们应该将迁移完全移出应用程序并将其作为部署的一部分包括在内吗?
答案 0 :(得分:0)
Code First迁移不使用事务。 我想你可以自定义迁移以使用它们,至少在EF6中。
我现在正在与类似的问题进行斗争。 除此之外,我会将更新作为部署的一部分而不是应用程序的一部分。