T4 模板代码生成】的更多相关文章

<# //********************************************************* // // Copyright (c) Microsoft. All rights reserved. // This code is licensed under the Microsoft Public License. // THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF // ANY KIND, EITHER E…
在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据目标环境不同而不同.比如在开发环境中,数据库使用的是开发环境的数据库,消息队列也使用的部署在开发机上的消息队列,传统的方式是,由发布或者配置管理员来维护这些不同环境的配置文件.通常,手工的针对不同的环境去修改配置文件容易产生错误. 有很多种不同的方式来针对不同的部署环境生成配置,最笨的方法就是可以维护几套不同的配置文件,然后在编译事件中根据…
前言 经过前面EF的<第一篇>与<第二篇>,我们的数据层功能已经较为完善了,但有不少代码相似度较高,比如负责实体映射的 EntityConfiguration,负责仓储操作的IEntityRepository与EntityRepository.而且每添加一个实体类型,就要手动去添加一套相应的代码,也是比较累的工作.如果能有一个根据实体类型自动生成这些相似度较高的代码的解决方案,那将会减少大量的无聊的工作. VS提供的“文本模板”(俗称T4)功能,就是一个较好的解决方案.要添加一个实…
个人网站地址:nee32.com 一.T4模板内容简介 为了更好地学习T4模板,我们安装一个插件tangible T4 Editor 在使用了EF生成实体类后,我们会发现一个.tt后缀的文件,它就是T4模板,直接打开 它的内容如下图: 就是这一个模板,生成了我们需要的类,省去了我们手写的麻烦,提高了工作效率,生成的实体类如下图: 那么,这些类是如何用T4模板生成出来的?要自定义模板又该如何操作? 下面来简单介绍下T4模板中的核心代码 1.全局变量申明 <#@ template language=…
T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit. T4文本模板,即一种自定义规则的代码生成器.根据业务模型可生成任何形式的文本文件或供程序调用的字符串.(模型以适合于应用程序域的形式包含信息,并且可以在应用程序的生存期更改) VS本身只提供一套基于T4引擎的代码生成的执行环境,由下面程序集构成: Microsoft.VisualStudio.TextTemplating.10.0.dll Microsoft.VisualStudio.T…
一.什么是T4模板 T4是Text Template Transformation Toolkit(文本模板转换工具包)的四个英文首字母的简称.是微软提供的一种代码生成引擎. 在ADO.NET实体数据模型和EF框架中,那些根据数据库表结构自动生成的代码就是根据这种引擎来生成的,所以当我们对VS自动生成的代码不满意或有特殊需求,则可以修改T4模板来达到目的. 在VS2012中,通过下面步骤可以添加T4模板(以.tt为后缀名): 其中“文本模板”和“运行时文本模板”是微软提供的两种T4模板 当添加一…
最近由于需要在框架中提供一些自定义模板的功能,找到了一篇博客,可惜似乎是翻译工具直接翻的,读不通顺,就试着自己翻译下,我不会完全翻译原文的句子,可能会对原文进行小范围的我认为更合适的句子并添加些注释,,原文地址如下: http://blogs.msdn.com/b/webdev/archive/2009/01/29/t4-templates-a-quick-start-guide-for-asp-net-mvc-developers.aspx 在我们最近的博客中提到的ASP.NET MVC Re…
Visual Studio 2013 EF5实体数据模型 EDMX 使用 T4模板生成后的继承对象为DbContext,以前的熟悉的ObjectContext对象不见了,当然使用ObjectContext对象不是每个程序员都需要的,解决办法有两种: 方法1.打开Model.Context.cs,添加 public OracleModelEntities(ObjectContext objectContext, bool dbContextOwnsObjectContext)           …
示例代码:示例代码__你必须懂的T4模板:浅入深出.rar (一)什么是T4模板? T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit. T4文本模板,即一种自定义规则的代码生成器.根据业务模型可生成任何形式的文本文件或供程序调用的字符串.(模型以适合于应用程序域的形式包含信息,并且可以在应用程序的生存期更改) VS本身只提供一套基于T4引擎的代码生成的执行环境,由下面程序集构成: Microsoft.VisualStudio.TextTe…
T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit.T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎.简单的说就是可以根据模板生成你想要的文件,可以使类文件,文本文件,HTML等等. VS本身只提供一套基于T4引擎的代码生成的执行环境,由下面程序集构成: Microsoft.VisualStudio.TextTemplating.10.0.…
一.T4模板说明 1.T4模板是用来生成Model层实体类的 2.文件后缀为.tt 3.需要修改配置主要有:引用的SqlSugar.dll的位置.生成实体类的位置及生成实体类的命名空间 4.T4模板生成代码对数据库有要求,数据库应该是不区分大小写的,如果你创建的数据库是否区分大小写的"Chinese_PRC_CS_AS ", 5.T4模板生成代码,中包括创建的视图 那么会抛出异常 'SYSOJBECTS'对象无效,关于修改数据库是否区分大小写可以参考:http://blog.csdn.…
参阅:http://dotnet.cnblogs.com/page/78398/ T4模板的定义非常简单,整个模板的内容包括两种形式:静态形式和动态动态.前者就是直接写在模板中作为原样输出的文本,后者是基于某种语言编写代 码,T4引擎会动态执行它们.这和我们通过内联的方式编写的ASP.NET页面很相似:HTML是静态的,以C#或者VB.NET代码便写的动态执行的代 码通过相应的标签内嵌其中. 现在我们直接通过VS来创建一个T4模板来生成我们期望的C#代码.右击项目文件,选择"Add"|…
一.回顾 上一篇文章 ——T4模板之菜菜鸟篇,我们囫囵吞枣的创建了与“T4模板”有关的文件.在创建各个文件的这一个过程中,我们对于T4模板有了那么丁点的认识.现在就带着之前的那些问题,正式的迈入对“T4模板”的学习. 二.概念 2.1.类型 T4 文本模板有两种类型: 设计时 T4 文本模板 运行时 T4 文本模板 三.简要教程 我们只讲“设计时T4文本模板”,其他的都TMD属于高级部分了,哥不懂给不给? 打开之前我们创建的“TextTemplate_.tt”文件: 很明显的有一个特征,那么就是…
一.废话 T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎.在 Visual Studio 中,“T4 文本模板”是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件. 在 Visual C# 或 Visual Basic 中,控制逻辑编写为程序代码的片段.生成的文件可以是任何类型的文本,例如网页.资源文件或任何语言的程序源代码.现在的VS中只要与代码生成相关的场景基本上都能找T4的身影,…
=============C#.Net 篇目录============== 示例代码:示例代码__你必须懂的T4模板:浅入深出.rar (一)什么是T4模板? T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit. T4文本模板,即一种自定义规则的代码生成器.根据业务模型可生成任何形式的文本文件或供程序调用的字符串.(模型以适合于应用程序域的形式包含信息,并且可以在应用程序的生存期更改) VS本身只提供一套基于T4引擎的代码生成的执行环境,由…
使用T4模板生成不同部署环境下的配置文件 在开发企业级应用的时候,通常会有不同的开发环境,比如有开发环境,测试环境,正式环境,生产环境等.在一份代码部署到不同环境的时候,不同环境的配置文件可能需要根据目标环境不同而不同.比如在开发环境中,数据库使用的是开发环境的数据库,消息队列也使用的部署在开发机上的消息队列,传统的方式是,由发布或者配置管理员来维护这些不同环境的配置文件.通常,手工的针对不同的环境去修改配置文件容易产生错误. 有很多种不同的方式来针对不同的部署环境生成配置,最笨的方法就是可以维…
为什么叫T4?因为简写为4个T. T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎.在 Visual Studio 中,“T4 文本模板”是由一些文本块和控制逻辑组成的混合模板,它可以生成文本文件. 在 Visual C# 或 Visual Basic 中,控制逻辑编写为程序代码的片段.生成的文件可以是任何类型的文本,例如网页.资源文件或任何语言的程序源代码.现在的VS中只要与代码生成相关的场景…
本文转自:http://www.cnblogs.com/guomingfeng/p/mvc-ef-t4.html 〇.目录 一.前言 二.工具准备 三.T4代码生成预热 (一) 单文件生成:HelloWorld.cs (二) 多文件生成 四.生成数据层实体相关相似代码 (一) 生成准备 (二) 生成实体相关相似代码 生成实体映射配置类 生成实体仓储接口 生成实体仓储实现 五.源码获取 系列导航 一.前言 经过前面EF的<第一篇>与<第二篇>,我们的数据层功能已经较为完善了,但有不少…
(转自:http://www.cnblogs.com/yank/archive/2012/02/14/2342287.html) T4模板的基本结构 代码块的总体分类,就是两种:文本.程序脚本. 我感觉这样分类就够了,跟我们用c#写代码生成原理差不多.也是又C#代码和文本组成的. 文本:就是需要生成的文本 程序脚本:内部执行,最终生成想要的文本.T4中<# #>中的部分都属于程序脚本内容. 为了细分语法,方便大家更好的理解,用“块”(Block)来表示构成T4模板的基本单元,它们基本上可以分成…
在众多.NET应用下的代码生成方案中,比如CodeDOM,BuildProvider, 我觉得T4是最好的一种.关于T4的基本概念和模板结果,可以参考我的文章<基于T4的代码生成方式>.如果要了解T4具体的应用,则可以参考我的文章<创建代码生成器可以很简单:如何通过T4模板生成代码?>(上篇)(下篇).如果你编写T4模板,你不得不面对一个问题——如何引用一个程序集?VS 2010采用了与VS2008不同的程序集引用的解析机制.本篇文章为你介绍在VS2010下5种不同的程序集引用的方…
引言 记得第一次做asp.net mvc项目时,可以用model直接生成Html的增删改查页面, 没什么特殊要求都可以不用修改直接用了, 觉得很神奇,效率太高了.后来在做客户端开发时,发现很多模块都是增删改查,于是打算做个类似的代码生成插件.琢磨了几天,用了一个比较奇异的思路做了出来,估计和mvc的有大不同.下面,简略地分享一下,写得比较乱,将就一下哈. 总体思路 特性类->外接程序->T4模板->动态编译->生成文本文件->添加到当前项目 特性类 简单起见,构建了两个特性,…
一 二.工具  (T4模板编辑器) 使用效果 1.tangibleT4EditorPlusModellingToolsVS2013.msi 2.devart T4 Editor for Visual Studio 安装完后,在VS的工具-拓展管理器中找到,重启VS可以看到tt模板里的代码已经高亮了 参考: T4模板TextTemplatingFileGenerator和TextTemplatingFilePreprocessor区别 (基础) 你必须懂的 T4 模板:深入浅出 使用T4模板映射数…
本文转自:http://www.cnblogs.com/lingyun_k/archive/2010/05/08/1730771.html 自己空闲时间写的一个代码生成器,基于T4模板引擎的,也不仅是代码生成器,本来是打算做成一个开发辅助工具,最近也没时间进行完善,先发出来听听大家意见和建议. 这个代码生成器与其他代码生成器相比,不仅可以根据数据库元数据架构信息来生成代码,还可以解析PowerDesigner物理模型文件,根据PDM模型对象来生成代码: 本人不大善于文字表达,还是先上图吧,让大家…
T4模板入门 T4,即4个T开头的英文字母组合:Text Template Transformation Toolkit.T4(Text Template Transformation Toolkit)是微软官方在VisualStudio 2008中开始使用的代码生成引擎.简单的说就是可以根据模板生成你想要的文件,可以使类文件,文本文件,HTML等等. VS本身只提供一套基于T4引擎的代码生成的执行环境,由下面程序集构成: Microsoft.VisualStudio.TextTemplatin…
CSharpGL(12)用T4模板生成CSSL及其renderer代码 2016-08-13 由于CSharpGL一直在更新,现在这个教程已经不适用最新的代码了.CSharpGL源码中包含10多个独立的Demo,更适合入门参考. 为了尽可能提升渲染效率,CSharpGL是面向Shader的,因此稍有难度. CSSL+Renderer 严格来说本篇不直接涉及OpenGL,但磨刀不误砍柴工,本篇仍算CSharpGL里. 上一篇制作了CSSL.CSSL和Renderer配合,就定义了一个渲染OpenG…
原本关于T4模板原想分5个章节详细解说的,不过因为最近比较忙,也不想将整个系列时间拉得太长,所以就将它们整合在一块了,可能会有很多细节没有讲到,希望大家自己对着代码与模板去研究. 本章代码量会比较大,基本将Web层要使用到的大部分函数都用模板生成了出来,而模板中的函数,很多也是互相关联调用的.另外在DotNet.Utilities(公共函数项目)中也添加与修改了一些类和函数. 需要特别说明的是,在逻辑层添加了July大神编写的超强上传类,具体怎么使用功能怎么强大,在后面调用到时会用一个章节详细说…
最近这段时间特忙,公事私事,忙得有时都没时间打开电脑了,这两周只能尽量更新,以后再将章节补回来. 直接进入主题,通过上一章节,大家明白了怎么使用模板类编写T4模板,本章进的是一些简单技巧的应用 1.首先创建一个Test2.tt模板 2.然后修改模板内容为下面代码 这些代码与上一章最后面的那个差不多,只是修改了输出文件名.命名空间.类名.类属性(partial)和一个单例获取函数 <#@ template debug="false" hostspecific="True&…
对于T4模板很多朋友都不太熟悉,它在项目开发中,会帮我们减轻很大的工作量,提升我们的开发效率,减少出错概率.所以学好T4模板的应用,对于开发人员来说是非常重要的. 园子里对于T4模板的介绍与资料已经太多了,所以在这里我就不再详细讲述基础知识了,只是说说T4模板在本框架中的具体应用与实践. 一.创建逻辑层项目 二.添加引用 将之前添加的三个项目添加到引用 三.创建T4模板放置的文件夹,并命名为SubSonic 四.将Solution.DataAccess项目中SubSonic文件夹下的Multip…
前言:上篇介绍了下ko增删改查的封装,确实节省了大量的js代码.博主是一个喜欢偷懒的人,总觉得这些基础的增删改查效果能不能通过一个什么工具直接生成页面效果,啥代码都不用写了,那该多爽.于是研究了下T4的语法,虽然没有完全掌握,但是算是有了一个大致的了解,给需要自定义模板的园友们提供一个参考.于是乎有了今天的这篇文章:通过T4模板快速生成页面. KnockoutJS系列文章: JS组件系列——BootstrapTable+KnockoutJS实现增删改查解决方案(一) JS组件系列——Bootst…
小编是个实用主义者,并没有深入的去理解T4的原理.只是根据自己的需求,在博客园里的前辈哪里找的资料,结合自己的理解,在项目中使用了T4模板. 最近的项目用了他,很方便,节省了不少代码量. 想利用T4做个代码生成器,目前比较忙,使用一直没有时间去做.如果大家有好的思路或者方法,请多多指教. 小编比较懒,又不怎么会排版,所以就先截下图,让大家可以比较直观的先看看需要哪些文件和步骤. 首先,定义一个接口,代表一个领域实体.在定义一个实体集成这个接口 面向接口编程的各种好处就不提了. /// <summ…