我正在尝试为 Repository 自定义 MVC Scaffolding T4 模板,以便它在我的 App_Start\NinjectMVC3.cs 类中创建 Ninject 绑定。
我可以更改模板以自定义创建的存储库,但是对于如何使模板将内容添加到单独的文件中,我有点茫然。
有人做过类似的事情吗?另外我想将存储库及其接口拆分为单独的文件会很方便。
谢谢
我正在尝试为 Repository 自定义 MVC Scaffolding T4 模板,以便它在我的 App_Start\NinjectMVC3.cs 类中创建 Ninject 绑定。
我可以更改模板以自定义创建的存储库,但是对于如何使模板将内容添加到单独的文件中,我有点茫然。
有人做过类似的事情吗?另外我想将存储库及其接口拆分为单独的文件会很方便。
谢谢
如果您需要创建与原始 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 方法。