1

我正在尝试为 Repository 自定义 MVC Scaffolding T4 模板,以便它在我的 App_Start\NinjectMVC3.cs 类中创建 Ninject 绑定。

我可以更改模板以自定义创建的存储库,但是对于如何使模板将内容添加到单独的文件中,我有点茫然。

有人做过类似的事情吗?另外我想将存储库及其接口拆分为单独的文件会很方便。

谢谢

4

1 回答 1

1

如果您需要创建与原始 T4 模板不同的类文件,我认为最好为此创建一个新模板。如果要将文件保存在模板中,可以使用 Syste.IO 库创建文件:

<#@ import namespace=“System.IO” #>

<#+
  void SaveOutput(string outputFileName)
  {
      string templateDirectory = Path.GetDirectoryName(Host.TemplateFile);
      string outputFilePath = Path.Combine(templateDirectory, outputFileName);
      File.WriteAllText(outputFilePath, GetMyContent()); 
  }
#>
<#+
  string GetMyContent()
  {
      // clean the environment 
      this.GenerationEnvironment.Remove(0, this.GenerationEnvironment.Length);
      #>
        This is my content
      <#+
      // return new content
      return this.GenerationEnvironment.ToString(); 
  }
#>

您需要开发您的GetMyContent()以使用正确的内容填充输出文件。在此示例GetMyContent中,每次都会清理环境,因此请记住在创建所有其他文件后使用 SaveOutput 方法。

于 2011-11-29T13:42:50.393 回答