Entity framework 如何定制EF 5 T4模型和上下文生成模板的生成?

Entity framework 如何定制EF 5 T4模型和上下文生成模板的生成?,entity-framework,entity-framework-5,t4,Entity Framework,Entity Framework 5,T4,每次我将EDMX模型o DB first数据模型添加到项目中时,EF都会生成两个T4模板,一个用于生成域模型,另一个用于生成DbContext。然后我必须在生成所有类之前修改这些模板。如何修改这两个T4模板的生成,而不是这些模板本身输出的模块 示例:生成Sample.edmxDB first数据模型后,在Sample.edmx下,我们找到一个名为Sample.Context.tt的文件。此文件包含以下行: const string inputFile = @"Sample.edmx"; 我需要

每次我将EDMX模型o DB first数据模型添加到项目中时,EF都会生成两个T4模板,一个用于生成域模型,另一个用于生成DbContext。然后我必须在生成所有类之前修改这些模板。如何修改这两个T4模板的生成,而不是这些模板本身输出的模块

示例:生成Sample.edmxDB first数据模型后,在Sample.edmx下,我们找到一个名为Sample.Context.tt的文件。此文件包含以下行:

const string inputFile = @"Sample.edmx";

我需要这个字符串是
@.\..\Sample.Repository\Data\Sample.edmx“
。现在,每次生成新的数据模型时,我都必须打开Sample.Context.tt并更改这行代码。我想找到生成该行的内容并对其进行修改,这样每次都会生成到edmx的正确路径。

那么您想修改项目模板吗?我想修改生成Context.tt模板的模板。我需要让它指向一个非默认的edmx文件位置。只更改模板中的一个值有这么大的问题吗?模板应该放在VS安装文件夹中的某个位置-请尝试Common7\IDE\ItemTemplates\CSharp\DataThank you。回答这个问题,我会接受的。解释如何使用变量模板的行
const string inputFile=@“$edmxInputFile$”,而不是硬编码edmx路径并且我会慷慨地提供一笔赏金。这就是为什么我把它作为一条评论发布的原因——我不知道如何替换常量。