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

Entity framework 我可以先修复实体框架代码迁移吗?,entity-framework,ef-code-first,entity-framework-migrations,Entity Framework,Ef Code First,Entity Framework Migrations,背景: 我正在首先用实体框架代码开发一个应用程序,并一直在使用我的POCO模型尽可能多地描述数据库模式。但是,在少数情况下,只有迁移API支持您想要的内容,例如添加索引。直到后来我才开始添加迁移,此时重新创建数据库要快得多,但这似乎是唯一的选择 所以我想看看迁移是否可行。我计划最终使用它们,我希望我能够调整初始迁移或在迁移过程中重新生成它,直到进行真正的迁移。然而,我也没有真正的运气。实体框架的代码迁移似乎存在根本性的缺陷,因为它们迫使模式作为迁移的一部分进行序列化存储 对我来说,这意味着无法调

背景:

我正在首先用实体框架代码开发一个应用程序,并一直在使用我的POCO模型尽可能多地描述数据库模式。但是,在少数情况下,只有迁移API支持您想要的内容,例如添加索引。直到后来我才开始添加迁移,此时重新创建数据库要快得多,但这似乎是唯一的选择

所以我想看看迁移是否可行。我计划最终使用它们,我希望我能够调整初始迁移或在迁移过程中重新生成它,直到进行真正的迁移。然而,我也没有真正的运气。实体框架的代码迁移似乎存在根本性的缺陷,因为它们迫使模式作为迁移的一部分进行序列化存储

对我来说,这意味着无法调整迁移,因为我无法更新目标属性,而目标属性本质上是模型的序列化版本。我也无法重新生成迁移,因为无法单独表示索引。问题的一部分在于迁移的工作方式迫使它们以串行方式进行,当我想更新过去的迁移或者有多个开发人员时,这是很糟糕的

因此,我选择只使用context.Database.ExecuteSqlCommand来添加索引,但是我想知道迁移中的这一限制将来是否会改变,或者我是否可以解决它

问题:


有没有办法更新现有迁移的imiglationMetadata,有没有办法使迁移不需要在目标字段中找到元数据?

有可能重复我在问题中提到的索引;然而,我实际上是在问迁移问题,而不是索引问题的解决方案。@Luke链接中的公认答案中的注释实际上提到了迁移:@ChrisMoschini:如果在迁移中执行此操作,则似乎有一个名为[context.Database.]CreateIndex的函数-我们不需要编写任何原始SQL马克。@retailcoder我不是在迁移中这么做的