CodeSmith

CodeSmith 使用教程(17) Merge策略

jerry CodeSmith
CodeSmith 使用教程(17) Merge策略
前面介绍了CodeSmith使用的基本用法,通过代码模板来生成代码,但如果你修改了自动生成的代码,再次使用代码模板生成代码后,你修改的代码也就丢失了,CodeSmith 支持多种“合并(Merge)”来解决这个问题,以保留你

CodeSmith 使用教程(14) 使用SchemaExplorer来获取数据库定义

jerry CodeSmith
CodeSmith 使用教程(14) 使用SchemaExplorer来获取数据库定义
Contents 1表的列 2视图的列 3命令参数 在前面例子CodeSmith 使用教程(3): 自动生成Yii Framework ActiveRecord 我们使用了SchemaExplorer 来获取数据的MetaData(数据库Schema 定义)来自动生成Yii Fram...
阅读全文

CodeSmith 使用教程(16) 使用XMLProperty

jerry CodeSmith
CodeSmith 使用教程(16) 使用XMLProperty
在前面CodeSmith 使用教程(6): 基本语法-声明和使用属性 介绍了CodeSmith中使用属性的基本方法,模板中的属性是通过Property指令来定义。 CodeSmith 也支持使用XML文档来定义属性,可以把一些配置属性定义到XML文件

CodeSmith 使用教程(15) 为Yii Framework 创建生成ActiveRecord的代码模板

jerry CodeSmith
CodeSmith 使用教程(15) 为Yii Framework 创建生成ActiveRecord的代码模板
在CodeSmith 使用教程(3): 自动生成Yii Framework ActiveRecord 我们通过SchemaExploer为Yii Framework从数据库生成简单的ActiveRecord类,没有考虑到表和表之间的关系。我们使用CodeSmith为Yii Framewor...
阅读全文

CodeSmith 使用教程(13) 调试

jerry CodeSmith
CodeSmith 使用教程(13) 调试
编写CodeSmith模板和编写程序一样,也需要进行调试,CodeSmith支持使用CLR?s Just-in-Time debugger调试模板。 要调试模板,首先要在CodeTemplate声明中打开调试Debug=?True?: <%@ CodeTemplate Langu...
阅读全文

CodeSmith 使用教程(12) 使用主从代码模板

jerry CodeSmith
在前面的教程CodeSmith 使用教程(3): 自动生成Yii Framework ActiveRecord 我们使用了主,从模板来实现了从数据库为Yii Framework生成多个表的ActiveRecord类定义,中CodeSmith项目中通过主模板和从模板的配合可以实

CodeSmith 使用教程(11) 引用其它文件或.Net 类库

jerry CodeSmith
在CodeSmith模板中可以引用.Net 类库,和普通的.Net 项目不同的是,对.Net 库的引用不是通过项目的Add reference 来实现,而是通过在代码模板中指明所要引用的Assembly. 比如引用CodeSmith自带的CodeSmith.CustomPro

CodeSmith 使用教程(10): CodeTemplateInfo 对象

jerry CodeSmith
通过CodeTemplateInfo对象可以获取代码模板文件本身的一些信息,比如文件名,源语言,编码方法,其支持的属性有: 属性名 描述 CodeBehind 该模板的Code-behind的文件名或者模板不使用CodeBehind时为空字符串.

CodeSmith 使用教程(9): Progress对象

jerry CodeSmith
CodeSmith 使用教程(9): Progress对象
使用Progress对象可以为CodeSmith生成代码的过程显示一个进度条,这对于生成比较费时的模板操作是非常有用的,如果你使用Visual Studio,可以在状态栏中显示一进度条: 使用进度条的方法是通过CodeTemplate对象的Pr

CodeSmith 使用教程(8): CodeTemplate对象

jerry CodeSmith
CodeSmith 使用教程(8): CodeTemplate对象
在使用代码模板产生代码时,CodeSmith引擎背后使用了不少对象来帮助代码的生成,其中常用的有 CodeTempate (类似于Asp.Net的Page类) Progress 用于显示代码生成的进度 CodeTemplateInfo 可以返回关于当前模板自身