Entity framework 数据库项目中的t4模板-生成的文件不是.tt文件的子文件

Entity framework 数据库项目中的t4模板-生成的文件不是.tt文件的子文件,entity-framework,t4,Entity Framework,T4,为了便于参考,我在下面介绍了第一次提到EntityFrameworkTemplateFileManager的页面的2/3部分 我试图编写一些t4模板来为数据库项目中的每个表生成插入、更新和删除存储过程。生成实际代码没有问题,我遇到的问题是生成的.sql文件与项目中的.tt文件添加在同一级别,而不是作为子文件。这很烦人,因为我也有很多未生成的SP,我不想将生成的和未生成的SP混合在一起 上面提到的网站有下面的图片展示了预期的输出(这就是我想要的): 但这就是我所得到的——生成的 EFMIXECT

为了便于参考,我在下面介绍了第一次提到
EntityFrameworkTemplateFileManager
的页面的2/3部分

我试图编写一些t4模板来为数据库项目中的每个表生成插入、更新和删除存储过程。生成实际代码没有问题,我遇到的问题是生成的.sql文件与项目中的.tt文件添加在同一级别,而不是作为子文件。这很烦人,因为我也有很多未生成的SP,我不想将生成的和未生成的SP混合在一起

上面提到的网站有下面的图片展示了预期的输出(这就是我想要的):

但这就是我所得到的——生成的<代码> EFMIXECTUT**.SQL文件(除了空白<代码> EF CRUD程序.SQL<代码>)没有添加到具有“代码> <代码>的项目中,并且出现在存储过程Directory:

的根目录中。

我意识到这有点像化妆品,但有没有办法解决这个问题?这是一个模板,简化为只在文件中写入表名。GetAllTables()只返回一个表列表

<#@ template debug="true" hostspecific="true" language="C#" #>
<#@ output extension=".sql" #>
<#@ SqlModelDirective processor="SqlModelDirectiveProcessor" #>
<#@ assembly name="System.Core" #>
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Linq" #>
<#@ import namespace="System.IO" #>
<#@ import namespace="Microsoft.SqlServer.Dac" #>
<#@ import namespace="System.Collections.Generic" #>
<#@ import namespace="Microsoft.SqlServer.Dac.Model" #>
<#@ include file="EF.Utility.CS.ttinclude"#> 
<#
    List<TSqlObject> allTables = GetAllTables();

    var fileManager = EntityFrameworkTemplateFileManager.Create(this);  

    foreach (var table in allTables)
    {
        fileManager.StartNewFile(string.Format("EF_Insert_{0}.sql", table.Name.Parts[1]));
        WriteLine("--{0}", table.Name.Parts[1]);
    }

    fileManager.Process();        
#>

这里也有同样的问题。。。我也尝试过非EF-specific,它在c#项目中效果很好,结果也是一样的。接缝就像VS中的一只虫子。