在我的项目中,当前的方法是创建数据库(如果尚不存在)并使用CreateDatabaseIfNotExists
并从中播种初始数据Intializer
。在升级到 Entity 4.4 后,我还添加了 Code First 迁移支持,这样将来当我们更改模型/数据库结构时,我们可以更新客户端数据库而不会删除它们现有的数据库。
但是它似乎并没有很好地工作,例如,我现在被困在无法加载表单并且错误消息类似于The model backing the 'myEntities' context has changed since the database was created. Consider using Code First Migrations to update the database (http://go.microsoft.com/fwlink/?LinkId=238269).
. 但是模型和数据库确实是更新版本,只是似乎 Migration 无法识别由 生成的数据库CreateDatabaseIfNotExists
,但同时在运行时似乎一切正常。
在那之后我注意到如果我让CreateDatabaseIfNotExists
初始化一个数据库,Add-migration
之后会失败并抱怨pending migration
并要求我做一个update-database
. 当我尝试执行 a 时update-database
,它也会失败,因为迁移路径似乎假设数据库处于初始设置状态,并将尝试运行所有迁移脚本,而不应运行任何迁移脚本,因为生成的数据库CreateDatabaseIfNotExists
确实与当前同步模型,根本不应该迁移。