【问题标题】:how do you access metadata from a T4 template with code-first entity framework?您如何使用代码优先实体框架从 T4 模板访问元数据?
【发布时间】:2014-11-18 22:12:24
【问题描述】:

我正在使用具有数据库优先的实体框架,因为这是一个更容易学习的曲线。我已经读到 EF 7 将不再使用 EDMX 文件,并且代码优先将是要走的路。

我现在正在考虑继续并转换为代码优先,因为我的项目还相对年轻,但我不确定如何访问 EDMX 提供的元数据。我广泛使用 T4 模板,需要访问元数据。

是否有人使用代码优先的 T4 模板,如果是,您如何获取元数据?

谢谢,

约翰

【问题讨论】:

    标签: entity-framework code-first t4


    【解决方案1】:

    使用 VS Gallery 中提供的 EF Reverse POCO 模板

    【讨论】:

    • 这看起来像是会生成 POCO 类的东西,但我看不出它将如何为 t4 模板提供对元数据的访问。
    • 具体是在 System.Data.Metadata.Edm 命名空间中定义的 EntityContainer、EdmProperty、NavigationProperty、EntityType 和 EdmItemCollection 的内容。这些类通过 MetadataLoader 类公开给 T4 模板。他们的数据来自 EDMX 文件。如果没有 EDMX 文件,则不清楚这些类是否可用。
    • 更具体地说,如果今天使用代码优先,他们是否能够使用 T4 模板并访问这些类?
    【解决方案2】:

    问题的答案是元数据可从上下文对象中获得,如本文所述

    How I can read EF DbContext metadata programmatically?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 1970-01-01
      • 2014-10-04
      相关资源
      最近更新 更多