`
pcajax
  • 浏览: 2162708 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CodeSmith将模板文件批量生成文件的方法

阅读更多

以前写codeSmith模板的时候,如果直接像asp一样混排编写的话,代码输出来codeSmith中,不知道怎么保存到文件,后来把所有要输出的模板文字都用stringBuiler串接起来然后IO到文件中,但是这样codesmith写起来太麻烦,界面高亮以及智能提示都不理想,所以非常的乱,而且没法一下子把所有的类的模板一次性生成(全写在一个里面太乱,不便管理,以及以后只需生成一部分时也没法单独生成),但看codeSimth里面的例子之后,发现别人的模板都是一个一个独立开的,通过一个主模板生成方案,要单个生成就用单个模板去生成好了,于是花了点时间看了下NetTiers的生成方法,终于找到了眉目,在这里发出来给还没有解决这个问题的朋友一个参考!

第一步:接下来把你要用来生成的子模板注册到主模板中去,代码很简单,如下:

<script language="JavaScript" src="http://book.book560.com/ads/ads728x15.js" type="text/javascript"></script>

<%@ Register Name="MyEntityClass" Template="C:\MyEntityClass.cst" MergeProperties="False" ExcludeProperties="" %>

Name="MyEntityClass" 模板好像会被注册成一个CodeTemplate的派生类,MyEntityClass会是这个类的名字;

C:\MyEntityClass.cst为你模板的位置,相对位置也可以;

第二步:为模板添加属性

当然,我们独立的子模板出会有属性需要设置,这个地方可以利用反射来赋值,代码如下:

CodeTemplate codeTemplate=new MyEntityClassKey();

codeTemplate.SetProperty("IncludeGet", IncludeGet);
codeTemplate.SetProperty("IncludeFind", IncludeFind);
codeTemplate.SetProperty("IncludeSave", IncludeSave);

上面的IncludeGet,IncludeFind就是模板C:\MyEntityClass.cst的一些属性了!后面就是为其设置的值了!

第三步:输出文件

codeTemplate.RenderToFile("c:/3.txt", true);

搞定!后面参数,第一个是输出的地址,第二个是是否覆盖!

还有好多的重载,我就不提了!自己可以慢慢看!

这个功能有什么用呢?当然有用啦,我们写好一系列的模板之后,一个一个去生成那不太累了,而且参数设置来设置去,都差不多,有了这个功能

我可以将它们一次生成出来,简单省事!

好的,到这一步为止,就简单的把NetTiers的模板生成给偷过来了!如果对codesmith不太了解的朋友,可以参考园子里其它前辈的相关教程

分享到:
评论

相关推荐

    CodeSmith的批量生成数据库表创建脚本的模板

    标题"CodeSmith的批量生成数据库表创建脚本的模板"暗示了我们将探讨如何使用CodeSmith的模板功能来自动化生成针对SQL Server数据库的建表语句。在数据库开发过程中,手动为每个表编写CREATE TABLE语句是一项繁琐的...

    CodeSmith 三层结构批量生成模板

    CodeSmith的批量生成功能允许用户根据预先定义的模板快速生成大量的源代码,节省了手动编写的时间,提升了开发效率。用户可以根据自己的需求定制模板,比如创建符合特定项目规范的数据访问接口、业务实体类、服务...

    类似于CodeSmith基于模板的代码生成

    CodeSmith是一款著名的基于模板的代码生成工具,它允许开发者通过编写模板来自动化生成常见的编程代码,从而提高开发效率,减少重复工作。这个压缩包中的内容似乎是一个类似的代码生成解决方案,可能是一个自定义或...

    简单三层模板批量生成文件.rar

    总的来说,"简单三层模板批量生成文件.rar"提供了一种高效的方法,使得开发人员能够快速构建符合三层架构的项目,从而专注于业务逻辑的实现,而不是基础架构的搭建,极大地提高了开发效率。在实际工作中,这样的工具...

    codesmith生成代码模板

    在IT行业中,特别是在大型项目或快速迭代的开发环境中,手动编写重复性的代码会消耗大量时间,而codesmith通过自定义模板,能够根据业务需求批量生成诸如数据访问层(DAO)、实体类(Entity)、业务逻辑层(BLL)...

    用CodeSmith 写的模板

    CodeSmith 的核心在于模板,一个模板就是一段包含代码生成逻辑的文本文件。模板使用CSTL语言,它支持条件语句、循环、函数调用等编程元素。在描述中的"用CodeSmith 写的模板"可能包括了以下部分: 1. 实体类模板:...

    CodeSmith快速生成映射文件

    5. **生成映射文件**:点击生成按钮,CodeSmith会根据选定的模板和数据库对象自动生成对应的NHibernate映射文件。这些文件通常会包含`&lt;class&gt;`、`&lt;id&gt;`、`&lt;property&gt;`等元素,详细描述了.NET类与数据库表之间的映射...

    CodeSmith生成数据字典

    本文将深入探讨如何使用CodeSmith自定义模板生成数据字典,并详细解析涉及的文件及其功能。 1. 数据字典的定义与作用: 数据字典是数据库设计中的关键组成部分,它包含关于数据库中表、字段、索引等对象的详细信息...

    CodeSmith代码生成工具

    6. **批量生成**: 对于大型项目,CodeSmith可以一次性处理多个模板,批量生成大量的源代码,大大减少了手动编码的工作量。 7. **版本控制集成**: CodeSmith可以很好地与版本控制系统(如Git、SVN)集成,生成的代码...

    CodeSmith初学者教程

    3. 自定义模板:你可以创建自己的模板文件,定义代码结构、命名规则、类关系等,只需更改模板,即可批量生成代码。 4. 模板预览:在生成代码之前,CodeSmith提供了预览功能,可以查看模板应用后的结果,确保代码...

    codesmith文档及模板.rar

    4. **批量生成**:可以一次处理多个表或整个数据库,生成完整的项目结构,节省大量时间。 三、使用教程 文档部分详细介绍了Codesmith的安装、配置、模板创建以及如何利用数据源生成代码的步骤。对于初学者,建议...

    CodeSmith代码生成器免费版

    5. 批量生成:对于大型项目,CodeSmith可以批量处理多个模板和数据源,生成大量代码文件,避免了手动操作的繁琐。 6. 社区支持:虽然免费版可能缺乏官方的技术支持,但CodeSmith拥有一个活跃的社区,用户可以在论坛...

    基于Petshop4.0架构的CodeSmith模板

    2. **批量生成**:模板也支持一次性生成整个项目的代码,包括所有层次和组件。这在初始化项目时非常有用,可以快速搭建出完整的PetShop4.0架构。 3. **自定义修改**:生成的代码虽然可以直接用于开发,但每个项目都...

    DNN codesmith 模板

    3. **生成代码**:将定义好的模板与数据源相结合,Codesmith会解析模板并替换占位符,生成实际的代码文件。这一步骤可以根据不同的编程语言(如Python、C++)进行定制,适应不同的开发环境。 4. **整合到项目**:...

    CodeSmith.Pro.4.1.2.(代码生成器)

    6. **批量生成**:对于有大量表的项目,CodeSmith可以一次性生成所有相关代码,极大地提高了工作效率。 7. **集成环境**:可以与Visual Studio等IDE集成,提供快捷的生成代码入口,无缝融入开发流程。 CodeSmith的...

    Codesmith7

    在Codesmith 7.0中,用户可以创建和编辑模板,这些模板是用类似于C#的语法编写的,但具有额外的元数据和控制结构,使得模板能够生成各种编程语言的代码。模板系统支持条件语句、循环、函数调用等,允许用户根据业务...

    CodeSmith.rar

    CodeSmith是一款基于模板驱动的代码生成工具,它允许开发者创建自定义的模板来生成特定的代码,如数据库访问层、业务逻辑层、实体类等。这些模板可以是简单的文本文件,也可以是复杂的C#、VB.NET或VBScript脚本,...

    业务逻辑生成模板.rar

    在“业务逻辑生成模板”中,CodeSmith被用作工具,结合特定的模板设计,能够批量生成符合项目需求的业务处理代码。 使用CodeSmith模板的优势在于: 1. **提高开发速度**:开发者可以专注于业务规则的定义,而不是...

    自动生成代码工具

    2. **批量导出**:支持批量导出代码并生成相应的文件类型,便于直接集成到项目中。 3. **VS2010项目导出**:支持根据数据库直接导出VS2010项目,包括基本的增删改查功能。 4. **存储过程生成**:支持一键在数据库...

    C#工具套装

    C#代码生成工具主要功能是根据模板或者特定规则自动生成源代码,这些源代码可以是类、接口、方法等。开发者可以预先定义好模板,工具会根据模板中的指令,结合数据源,自动生成符合规范的代码。这样,开发者无需手动...

Global site tag (gtag.js) - Google Analytics