为什么叫T4?因为简写为4个T。
T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎。在 Visual Studio 中,“T4 文本模板”是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件。 在 Visual C# 或 Visual Basic 中,控制逻辑编写为程序代码的片段。生成的文件可以是任何类型的文本,例如网页、资源文件或任何语言的程序源代码。现在的VS中只要与代码生成相关的场景基本上都能找T4的身影,比如MVC的视图模板,Entity Framwork的DataContext模板等等。
若论灵活性,各种代码生成工具还真不如T4模板。
在VS2013种默认没有了T4模板,取而代之的是文本模板,但是他们的后缀名都是.tt。我们可以通过NuGet安装T4模板。
安装之后,我们在项目中新建项的时候,在VS模板中就多了两项和T4模板相关的模板。
当我们在新建的T4模板中进行代码编写的时候,默认是没有智能提示的,我们需要再安装一个T4Editor的VS插件tangibleT4EditorPlusModellingToolsVS2013.msi。
下载地址:
由于我这里用的是VS2013,所以按照13的插件,安装插件时先关闭VS,安装完成之后在T4模板中编写代码时就有了智能提示了。
关于T4模板的详细讲解,大家可以参照一下博客文章:
(译)理解 T4 模板:<#@ parameter #> 指令
我这里要说的是,如何在项目中替代其它的代码工具来使用,比如说,自动生成数据库中的POCO类。
思路:1、我们要查询中数据库中的表和字段。2、根据数据表名才,将其生成多个POCO类文件
How to do?
开发环境:VS2013
准备工作:添加必须的程序集引用
在自己电脑上面用everythin找到Microsoft.VisualStudio.TextTemplating.Interfaces.10.0.dll,然后添加引用,如果没有,你就网上下载一个。
方式一
1、添加一个T4模板文件DbHelper,将其后缀修改为.ttinclude,因为我是将其作为内嵌的T4文件,不修改扩展名的话,会将其当成T4模板文件进行生成。
上面的代码就是查询数据库中的表和字段。
2、同样添加另一个T4模板文件,并修改后缀名Manager.ttinclude
上面的代码是用来生成多文件的。
3、新建T4模板文件PocoManager.tt,然后引入上面两个ttinclude文件。
按Ctrl+S生成的代码如下:
方式二
操作方式一种的步骤2,然后新建T4模板Manager.tt,引入Manager.ttinclude
按Ctrl+S生成的代码如下:
数据库CarSYS的脚本下载地址:
扩展:我们还可以在搭建项目框架的时候,通过反射等技术来自己编写T4模板。
当然,我们还可以通过Entity Framework Power Tools这个开发神器来生成我们的EF Code代码。
本文转自邹琼俊博客园博客,原文链接:http://www.cnblogs.com/jiekzou/p/6410719.html,如需转载请自行联系原作者