EF6重新脚手架初始移植

问题描述:

请帮助我在ef6移植中带来一个不便。 我经常更换我的模型(因为我没有完全理解模式)。 我有两个迁移: 1.初始(EF6通过我的模型产生这种迁移) 2. AddtionalInit(需要初始化后执行一些手动的SQL代码)EF6重新脚手架初始移植

当我改变我的模式,我想重新脚手架初始迁移以应用更改。我迁移到-TargetMigration:0和尝试执行:

add-migration Initial -force 

,但它与错误

Unable to generate an explicit migration because the following explicit migrations are pending: [201709290630180_Initial, 201709290631135_AdditionalInit]. Apply the pending explicit migrations before attempting to generate a new explicit migration 

我可以重新脚手架初始迁移扔而不删除AdditionalInit迁移?

P.S.对不起英文。

您只能重新搭建最新的迁移。 您应该在您的Initial迁移保留某处您手动添加的代码后删除迁移。然后重新脚手架,然后重新添加手动代码。

+0

这很不方便。还有其他解决方案吗? –

+0

它是,但仍然是它如何工作的方式 – sabotero

从技术上讲,你可以使用与原始SQL种子法适用任何额外的架构更改。您必须设置Raw SQL才能执行“检查”,以确保它的更改在运行之前尚未应用,因为每次启动应用程序时都会运行种子方法。

可能最好将其移动在它自己的移民一旦你的模式的转变是稳定的,但是这是如果你有吨的迁移变化而发展,将工作的替代品。