EF学习杂记2:开始T4之旅
如果你读过Entity Framework Design Blog,你应该已经听我们讨论过T4。这是一项与Visual Studio 2008一起发行的技术(2005有一个独立的版本供下载)。
在.NET4.0中,Entity Framework使用了T4来增强代码生成与模型初始化这种场景。
事实上T4现在也用在其它一大些微软的产品,包括ASP.NET MVC和Dynamic Data。
所以考虑如果现在要开始使用T4并开始熟悉这种技术,你应该怎么做?
事实上这种技术相对简单。你可以非常轻松的完成相当有用的事情:
-
向项目中添加一个文本文件,并将扩展名改为".tt"。
-
在文本文件中写入一些模版代码。
<#@import namespace="System.Collections.Generic" #> <# Dictionary<string,Type> properties = new Dictionary<string,Type>(); properties.Add("Age",typeof(int)); properties.Add("Firstname", typeof(string)); properties.Add("Surname", typeof(string)); #> using System; public class <#="MyClass"#>{ <# foreach(string name in properties.Keys) { #> public <#=properties[name].Name#> <#=name#>{ get; set; } <# } #> }
这些模版代码生成了一个类,并使用了一个名为"properties"的字典的每一个Key作为这个类的属性。
-
保存".tt"文件。当你完成这一步时,不可思议的会自动出现一个依赖于模版的".cs"文件,其看来像下面这样:
using System; public class MyClass{ public Int32 Age{ get; set; } public String Firstname{ get; set; } public String Surname{ get; set; } }
正如你看到的,T4非常简单且对熟悉ASP.NET的使用者来说相当容易使用…
试一下吧。
浙公网安备 33010602011771号