【问题标题】:Generate Entity Framework code without generating EDMX diagram生成实体框架代码而不生成 EDMX 图
【发布时间】:2011-07-10 13:20:49
【问题描述】:

我目前从 single source of truth 生成 XML 并将其保存为实体框架 EDMX 文件,然后使用 EntityClassGenerator 对象从图中创建类。有没有一种无需先创建 XML 文件即可生成类的方法?

【问题讨论】:

  • 你能根据你的 SSOT 创建类吗?
  • 如果您指的是 EF 创建的设计器文件中的类,是的,但我宁愿让 EF 为我生成它们。我有一个对象层次结构,其中每个对象代表 EDMX 中的一个节点。我使用 SSOT 中的元数据构建层次结构,然后在每个使用 XmlTextWriter 的对象上调用“渲染”方法来创建 EDMX。我想我希望能删掉整个步骤,只使用我的元数据使用 EF 对象构建对象层次结构,然后让它们生成设计器类 - 一起绕过 EDMX 的创建。可能不可能,但我希望。
  • 如果你可以直接生成类你可以放弃EDMX并生成POCO,代码优先映射和DbContext类。
  • 您应该将此添加为答案。听起来正是我想要的。

标签: entity-framework entity-framework-4 code-generation edmx


【解决方案1】:

我还没有收到 Ladislav Mrnka 的回复,所以我将把他的评论放在这里作为答案。使用 Entity Framework 的新 Code-First,我可以拥有以代码为中心的开发工作流程,其中我的生成器将创建 POCO 和自定义 DbContext,然后我的数据库将使用约定而不是配置从 POCO 生成。根本不需要 EDMX!

这里有一个很好的解释:http://weblogs.asp.net/scottgu/archive/2010/12/08/announcing-entity-framework-code-first-ctp5-release.aspx

【讨论】:

    【解决方案2】:

    EF 在运行时需要来自 EDMX 的元数据。即使您可以使用 CodeModel 或其他东西来生成实体类,如果没有描述存储模型、映射等的元数据,它们对于 EF 运行时也是无用的。

    【讨论】:

      【解决方案3】:

      Fabio Scopel 在 youTube 上进行了一次网络广播,他在其中展示了这个(当时)称为实体框架逆向工程师的 Beta 工具。

      查看链接Entity Framework 5.0 - Code First Reverse Engineering existing DataBase

      【讨论】:

      • 请注意,不鼓励仅链接的答案,因此答案应该是搜索解决方案的终点(相对于另一个参考中途停留,随着时间的推移往往会变得陈旧)。请考虑在此处添加独立的概要,并保留链接作为参考。
      猜你喜欢
      • 2016-05-13
      • 2012-04-15
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多