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的使用者来说相当容易使用…

试一下吧。

你可能感兴趣的:(学习)