我可以修复实体框架代码优先迁移吗?

时间:2013-01-22 05:08:57

标签: entity-framework ef-code-first ef-migrations

背景:

我正在使用Entity Framework Code First开发一个应用程序,并且我一直在使用我的POCO模型来描述数据库模式。但是,在某些情况下,只有迁移API支持您所需的内容(例如添加索引)。我不想在以后开始添加迁移,只是在此时重新创建数据库要快得多,但它似乎是唯一的选择。

所以我想我会看看我是否能看到迁移是否有效。我计划最终使用它们,我希望我能够调整初始迁移或者在我去的时候重新生成它,直到实现真正的迁移为止。但是,我也没有真正的运气。似乎实体框架的代码迁移存在根本性的缺陷,因为它们强制将模式作为迁移的一部分进行存储(序列化)。

对我而言,这意味着没有可能的方法来调整迁移,因为我无法更新Target属性(实际上是我的模型的序列化版本)。我也无法重新生成迁移,因为无法单独表达索引。部分问题在于迁移的工作方式迫使它们以串行方式进行,这在我想要更新过去的迁移或者有多个开发人员时非常糟糕。

因此我选择仅使用context.Database.ExecuteSqlCommand添加索引,但我想弄清楚迁移中的这种限制是否会在将来发生变化,或者我是否可以解决它。

问题:

有没有办法更新现有迁移的IMigrationMetadata,是否有办法让迁移不需要Target字段中的元数据?

0 个答案:

没有答案