Entity framework 实体框架6模型首次迁移

Entity framework 实体框架6模型首次迁移,entity-framework,migration,ef-model-first,Entity Framework,Migration,Ef Model First,期望的结果: 在实体框架中使用模型优先的方法,并允许根据模型中的更改自动对部署的数据库/模型进行更改。自动生成架构差异脚本以允许平滑迁移 有没有一种方法可以在ModelFirstEF6中执行迁移?我可以看到所有关于代码优先迁移的主题,但关于模型优先的内容不多 到目前为止我看到的选择: 数据库生成电源组(似乎过时) 以某种方式先转换为代码,然后使用迁移(不可取,因为我喜欢有一个可视化设计器) 以某种方式依赖于代码优先迁移(这是针对EF5的,出现了无法首先在模型上运行迁移的错误) 一些第三方工具

期望的结果:

在实体框架中使用模型优先的方法,并允许根据模型中的更改自动对部署的数据库/模型进行更改。自动生成架构差异脚本以允许平滑迁移

有没有一种方法可以在ModelFirstEF6中执行迁移?我可以看到所有关于代码优先迁移的主题,但关于模型优先的内容不多

到目前为止我看到的选择:

  • 数据库生成电源组(似乎过时)
  • 以某种方式先转换为代码,然后使用迁移(不可取,因为我喜欢有一个可视化设计器)
  • 以某种方式依赖于代码优先迁移(这是针对EF5的,出现了无法首先在模型上运行迁移的错误)
  • 一些第三方工具

据我所知,目前还没有针对实体框架模型的自动迁移

我们的做法是:

  • 从模型创建一个新的数据库
  • 创建一个diff脚本,将旧数据库迁移到新数据库
  • 验证此差异脚本是否确实正确。始终仔细检查自动化工具创建的内容
  • 我们第一次使用模型优先迁移。在那之后,我们转向了,因为它产生了更可靠的迁移。
    根据我们的经验,DbDiff产生了许多不必要的SQL,因为它会影响列的顺序,并且还存在一些其他问题,如外键不断被删除和重新添加。除此之外,它仍然做得很好,但我们必须对其生成的SQL进行大量的双重检查。

    我们最终采用了这种方法,因为它在某种程度上是合理的。我们在本地PC上有开发数据库,用户可以在其中做任何他们想做的事情,然后将更改传播到测试数据库,然后传播到生产环境。您描述的工作流非常适合这个顺序,到目前为止看起来是一个非常好的解决方案。在这一点上回答的标记。