在T4中更改生成文件的命名

时间:2011-09-20 08:08:55

标签: .net entity-framework-4.1 t4 ef-model-first

无论如何,我可以使用Entity Framework Model First更改T4生成的文件的命名

我试图将输出扩展名更改为:

<#@ output extension=".Generated.cs"#>

将Model1.cs文件的名称更改为Mode1.Generated.cs但我的所有实体仍然在名为category.cs,Issue.cs等的文件中。我想要的是仍然要命名的实体类:< / p>

Category
Issue
..

但包含遵循命名模式的文件:

Category.Generated.cs
Issue.Generated.cs
...

1 个答案:

答案 0 :(得分:2)

设置输出指令仅配置模板生成的主文件。使用默认自定义工具的T4模板仅生成单个文件。这些EF模板可以自行处理多个文件生成,因此您必须访问T4代码并搜索以下代码段:

// Emit Entity Types
foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(entity.Name + ".cs");
    ...

foreach (ComplexType complex in ItemCollection.GetItems<ComplexType>().OrderBy(e => e.Name))
{
    fileManager.StartNewFile(complex.Name + ".cs");

根据需要修改已启动文件的名称。