2010-01-06 38 views
1

我正在使用T4工具箱的Linq to SQL模型來生成代碼,並且我想爲它生成的代碼添加一些序列化屬性。我不知道如何修改發生器來做到這一點。我會修改與工具箱一起安裝的實際.tt文件嗎?或者我可以添加一些東西到爲我創建的.tt文件?還是我必須做別的事情?如何修改預建模板?

要做到這一點,最好的方法是什麼?

回答

1

是的,您可以修改.tt文件。這不是一個好的體驗,因爲Visual Studio沒有做任何語法高亮顯示;但是,您可以安裝該文件,將語法高亮顯示添加到模板中。

在Scott Hanselman的File/New/NerdDinner討論中,他討論了在ASP.NET MVC代碼生成中使用的T4模板的使用,並演示瞭如何修改它們。關於T4模板的討論始於23分40秒。

+0

因此,我修改預構建的模型模板本身,而不是工具箱爲我創建的文件(本質上是一個空白的引用模型的.tt文件)?這是有道理的,我只是認爲可能有一種方法來修改本地.tt文件,而不是混淆預構建模板。 – 2010-01-06 04:07:45

1

您可能已經意識到,但您也可以創建自己的.tt文件。工具箱中的預建的.tt沒有什麼特別之處。

換句話說,您可以複製/粘貼/修改您自己的版本,甚至只需將新的.tt文件添加到您的項目。保存.tt文件後,它會自動嘗試生成tt模板中指定的屬性的基本代碼。