CodeGenerationTools在哪里?

18

在 Entity Framework T4 模板中,我可以使用类 CodeGenerationTools。

例如:

void WriteProperty(**CodeGenerationTools** code, EdmProperty edmProperty)
{
    WriteProperty(Accessibility.ForProperty(edmProperty),
                  code.Escape(edmProperty.TypeUsage),
                  code.Escape(edmProperty),
                  code.SpaceAfter(Accessibility.ForGetter(edmProperty)),
                  code.SpaceAfter(Accessibility.ForSetter(edmProperty)));
}

不过,我找不到这个类是在哪里定义的。

它属于哪个程序集?它的成员是什么?

谢谢

1个回答

19

那不是来自程序集的类。它是来自另一个模板的内含类:

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

这个文件通常存储在VS安装目录中:

%VSINSTALLDIR%\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\Templates\Includes

1
你认为将类引入代码有多安全?我问这个问题是因为我正在尝试将一个bool映射到Oracle的NUMBER(1,0),而不是采用真正的“模型优先”方法。我使用EDMX编写器将我的DbContext解析为xml并构建数据库,现在正在使用流畅API将其映射到现有表...问题在于奇怪的上述映射。该模型优先方法可以正常工作,因此我正在尝试找出如何以编程方式完成它。我认为这是上面提到的TT转换的问题。 - one.beat.consumer

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接