【问题标题】:Using EF4 migration tool with model-first approach使用具有模型优先方法的 EF4 迁移工具
【发布时间】:2012-04-28 02:57:57
【问题描述】:

首先使用代码时,EF 迁移实用程序似乎相当不错。

基于this blog post,我尝试在我们使用模型优先的项目中设置它。运行Enable-Migrations 命令时,出现以下错误:

不支持创建 DbModelBuilder 或从使用 Database First 或 Model First 创建的 DbContext 编写 EDMX。 EDMX 只能从不使用现有 DbCompiledModel 创建的 Code First DbContext 中获取。

有什么办法可以让我们在不切换到代码优先的情况下使用 EF 迁移?

【问题讨论】:

  • 我猜不是 - 这是例外情况所说的,但对Data UserVoice 来说是个不错的建议。

标签: .net entity-framework-4 database-migration ef-model-first


【解决方案1】:

我有一篇关于如何做到这一点的不完整博客文章。不确定它是否符合您的需要,但似乎是目前唯一可用的方法。

基本上,您使用自定义 t4 从您的模型生成 DbMigrationsConfiguration 和 DbContext,您根本不需要运行 Enable-Migration。只需在包管理器控制台中运行 Add-Migration 和 Update-Database。

http://blog.amusedia.com/2012/08/entity-framework-migration-with-model.html

我将在以后更新博客条目和 t4 以使其更加用户友好。

【讨论】:

  • 有趣,我会在三周后重返工作岗位,一定要检查一下,谢谢。
  • 我还没有将它应用到我的项目中,不确定它是否会“开箱即用”,但它似乎是迄今为止唯一的解决方案。
  • 我遇到了同样的问题。但是 Code Second 插件不适用于 EF 6……这怎么解决?
【解决方案2】:

我一直在寻找相同的解决方案,结果发现:Entity Designer Database Generation Power Pack 安装后,当你选择“Generate Database from Model...”时,会弹出一个新向导,你可以选择“Generate Migration T-SQL”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-03
    相关资源
    最近更新 更多