gpt4 book ai didi

.net - System.Data.Entity.ModelConfiguration.Mappers.TypeMapper 在哪个程序集中定义?

转载 作者:行者123 更新时间:2023-12-05 01:34:05 26 4
gpt4 key购买 nike

我正在尝试为某些 EF 6.0 内容构建一个简单的 C# 模板。我在定义所有 Entity Framework 对象的同一个项目中创建了模板。但是,我似乎无法使用可以在实体生成器中找到的某些类型,特别是 TypeMapper

这是我的实体生成器 T4 文件的顶部:

<#@ template language="C#" debug="false" hostspecific="true"#>
<#@ include file="EF.Utility.CS.ttinclude"#>
<#@ output extension=".cs"#>
<#
const string inputFile = @"EpicCloudDB.edmx";
#>
<#@ include file="EdmxEnumFixer.t4" #>
<#
var textTransform = DynamicTextTransformation.Create(this);
var code = new CodeGenerationTools(this);
var ef = new MetadataTools(this);
var typeMapper = new TypeMapper(code, ef, textTransform.Errors);
var fileManager = EntityFrameworkTemplateFileManager.Create(this);
var itemCollection = new EdmMetadataLoader(textTransform.Host, textTransform.Errors).CreateEdmItemCollection(inputFile);
var codeStringGenerator = new CodeStringGenerator(code, typeMapper, ef);
#>

这里没有发生任何疯狂的事情。但是,如果我创建一个模板并将其直接粘贴到其中(同一项目),则无法找到以下类型:

  1. 类型映射器
  2. 代码字符串生成器
  3. EdmMetadataLoader

我只需要 TypeMapper,但我不明白为什么相同的模板代码在新模板中不起作用,但在默认 EF 文件中运行得很好。

这些类的文档都不容易找到。我想如果我能找到定义 TypeMapper 的程序集,我可以手动添加引用并在以后担心一般的怪异问题,但事实证明这比我预期的要困难。

那么如何将这种类型导入到我的模板中呢?在此处等待答案的同时,我将通过 grep 浏览 EF 6 源代码。

最佳答案

它似乎是在同一个 .tt 文件中定义的——大约在第 320 行。

关于.net - System.Data.Entity.ModelConfiguration.Mappers.TypeMapper 在哪个程序集中定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21030767/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com