三、T4模板与实体生成】的更多相关文章

     上文我们最后虽然用模板创建了一个实体类,但是类的内容仍旧是静态的,这里我们需要用动态方式生成类的内容.因为需要查询数据库这里又免不了各种繁琐的连接数据库操作,为了使我们的编码更加直观,仍然采用C#编码习惯来书写T4代码.      在JSP中,我们可以使用include标签来包含另一个JSP文件.在T4模板中也可以在一个模板文件中包含另一个模板文件.所以我们尽可能把公共模块的代码提取到一个T4模板文件中,方便重复使用.包含指令如下: <#@ include file="$(Pro…
1.前言 为什么会有这篇文章了,最近看到了一些框架,里面要写的代码太多了,故此就想偷懒,要是能写出一个T4模板,在数据库添加表后,根据模板就可以自动生成了类文件了,这样多好,心动不如行动.记得使用T4模板还是2年前,那个时候听波波老师讲课做我们的最后一个大项目CRM,简简单单的写了一下模板,保存一下,所有的类文件就出来了,当时那个膜拜,油然而生. 同时在工作中,我们公司自己开发的一个ORM,实体类都要自己写,一个数据库表的字段太多,写的真是手抽筋.如果你对T4基础语法不是很了解,可以参考我前面写…
        在EF Power Tool 默认使用的T4模板中,如果数据库表有下划线,那么生成的实体也有下划线,但是我们实际使用的过程中,是不希望有下划线的,要解决这个问题,可以自定义这个T4模板,把生成的实体中的下划线去掉.具体的方法是:          1.首先通过菜单生成默认的T4模板:          生成的模板如下:        2.在Entity.tt中加上一个类代码块,具体的语法参见T4模板的语法,添加代码如下: <#+ //获取类名 string GetClassNam…
我们在用ORM(比如dapper)的时候,很多时候都需要自己写Model层(当然也有很多orm框架自带了这种功能,比如ef),特别是表里字段比较多的时候,一个Model要写半天,而且Model如果用于MVVM中,我们还需要添加PropertyChanged触发代码.发现t4模板可以自动生成代码,于是就写了一个.这个t4模板文件用了很久了,分享下. <#@ template debug="false" hostspecific="false" language=…
 说明:..,有些工具生成实体类没注释,不能和SqlServer的MS_Description属性一起使用,然后照着网上的资源,随便写了个生成模板,自娱自乐向,其实卵用都没有参考教程    1.http://www.cnblogs.com/zhongxinWang/p/3540283.html            //批量生成文件    2.http://www.jb51.net/article/34530.htm                                        …
在用EF DBFirst时,实体类是从数据库自动生成的,与DBContext放在同一个项目中.这样其他项目想引用实体,就会将数据库操作类暴露出来.所以,我们需要将实体分离. 新建项目EFAccess,并新建Ado.net实体数据模型   image.png 删除自动生成的Model1.tt 右键项目,新建EF DbContext生成器   image.png 新建项目Model,将刚生成的Model1.tt拷贝进来,删除EFAccess中的Model1.tt   image.png 打开Mode…
为什么叫T4?因为简写为4个T. T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎.在 Visual Studio 中,“T4 文本模板”是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件. 在 Visual C# 或 Visual Basic 中,控制逻辑编写为程序代码的片段.生成的文件可以是任何类型的文本,例如网页.资源文件或任何语言的程序源代码.现在的VS中只要与代码生成相关的场景…
1.T4 Editor安装 T4:根据模板生成文件,例如model等 vs中默认t4模板编码是没有提示和高亮的,需使用以下插件,免费的 https://t4-editor.tangible-engineering.com/Download_T4Editor_Plus_ModelingTools.html 也可以在vs的“工具->扩展和更新”中搜索t4,然后下载 注意:安装的时候请先关闭vs,然后再安装 2.T4简单使用 输入一段t4代码 <#@ template debug="fal…
引言 记得第一次做asp.net mvc项目时,可以用model直接生成Html的增删改查页面, 没什么特殊要求都可以不用修改直接用了, 觉得很神奇,效率太高了.后来在做客户端开发时,发现很多模块都是增删改查,于是打算做个类似的代码生成插件.琢磨了几天,用了一个比较奇异的思路做了出来,估计和mvc的有大不同.下面,简略地分享一下,写得比较乱,将就一下哈. 总体思路 特性类->外接程序->T4模板->动态编译->生成文本文件->添加到当前项目 特性类 简单起见,构建了两个特性,…
1.前言 前段时间在网上看到一个开源框架很好的.开源:ASP.NET MVC+EF6+Bootstrap开发框架,写代码就是比较比较麻烦,分层比较多,对于我这种偷懒的人就想到了写一个T4模板.不了解框架的可以先去看一下这个开源的框架. 一起有5个层,也就是意味着每次数据库添加一张表,就需要写这5个类. 2.NFine.Domain.Entity <#@ template debug="false" hostspecific="false" language=&…