あなたは、元のT4テンプレートとは別のクラスファイルを作成する必要がある場合、私はあなたがこの目的のために新しいテンプレートを作成する場合、それはより良いことだと思います。あなたはtempalteでファイルを保存したい場合は、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メソッドを使用してください。
リポジトリファイルの分割に役立つはずです。また、既存のクラスファイルに、MVC Scaffoldingテンプレートを使用してリポジトリをスキャフォールディングするためのコードを追加したいとします。そこに任意のアイデア? – GraemeMiller
@GraemeMillerあなたのプロジェクトのpackages \ MvcScaffolding.1.0.4.0ディレクトリの下に、ControllerWithRepository.cs.t4ファイルを修正して(前にバックアップコピーを作る)、修正することができます。 SaveOutput関数と新しいコンテンツを追加できます。 –