Entity Framework T4模板中使用的类型在哪里定义?

时间:2017-04-12 23:20:58

标签: entity-framework entity-framework-6 t4

在Entity Framework为我的实体和.tt代创建的DbContext文件中,我看到了TypeMapperAccessibility等类。这些类型在哪里定义,是否在任何地方都有记录?我想自定义我的t4模板,但很难不知道这些类的功能或使用方法。

1 个答案:

答案 0 :(得分:3)

实体框架T4模板在文件顶部有 include 指令。对于C#,它看起来像:

<#@ include file="EF6.Utility.CS.ttinclude"#>

此文件可在Visual Studio IDE extensions文件夹中找到。例如。默认情况下,Visual Studio 2017将是:

  

c:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ Extensions \ Microsoft \ Entity   框架工具\模板\包含\

此文件包含用于生成实体的辅助类。例如。

/// <summary>
/// Responsible for encapsulating the retrieval and translation of the CodeGeneration
/// annotations in the EntityFramework Metadata to form that is useful in code generation.
/// </summary>
public static class Accessibility

第二个类TypeMapper在上下文生成模板中定义。