1
我正在嘗試爲存儲庫自定義MVC腳手架T4模板,以便它在我的App_Start \ NinjectMVC3.cs類中創建Ninject綁定。Ninject和MVC腳手架
我可以更改模板來自定義創建的存儲庫,但我對如何導致模板將內容添加到單獨的文件存在一些損失。
任何人都做過類似的事情嗎?另外我猜想將知識庫及其接口分成單獨的文件將會很方便。
感謝
我正在嘗試爲存儲庫自定義MVC腳手架T4模板,以便它在我的App_Start \ NinjectMVC3.cs類中創建Ninject綁定。Ninject和MVC腳手架
我可以更改模板來自定義創建的存儲庫,但我對如何導致模板將內容添加到單獨的文件存在一些損失。
任何人都做過類似的事情嗎?另外我猜想將知識庫及其接口分成單獨的文件將會很方便。
感謝
如果您需要創建從原來的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您可以嘗試修改ControllerWithRepository.cs.t4文件(之前創建備份副本),將其放在項目的packages \ MvcScaffolding.1.0.4.0目錄下。您可以添加SaveOutput功能和新內容。 –