codesmith文章总
2009-05-08 15:19 宝宝合凤凰 阅读(964) 评论(1) 编辑 收藏 举报ORM|代码生成
最近跟同事在研究CodeSmith,感觉中文文档是少之又少,所以我们自己写(翻译)了一些文档,总结如下,希望对使用CodeSmith的朋友有所帮助:
“努力学习的熊”CodeSmith基础系列:
1.CodeSmith基础(一)
http://bear-study-hard.cnblogs.com/archive/2005/12/19/300112.html
2.CodeSmith基础(二)
http://bear-study-hard.cnblogs.com/archive/2005/12/19/300142.html
3.CodeSmith基础(三)
http://bear-study-hard.cnblogs.com/archive/2005/12/19/300320.html
4.CodeSmith基础(四)
http://bear-study-hard.cnblogs.com/archive/2005/12/20/300948.html
5.CodeSmith基础(五)
http://bear-study-hard.cnblogs.com/archive/2005/12/21/301577.html
6.CodeSmith基础(六)
http://bear-study-hard.cnblogs.com/archive/2005/12/22/302392.html
7.CodeSmith基础(七)
http://bear-study-hard.cnblogs.com/archive/2005/12/23/303246.html
8.CodeSmith基础(八)
http://bear-study-hard.cnblogs.com/archive/2005/12/26/304701.html
“Terrylee”CodeSmith实用技巧系列:
1.CodeSmith实用技巧(一):使用StringCollection
http://terrylee.cnblogs.com/archive/2005/12/26/304865.html
2.CodeSmith实用技巧(二):使用FileNameEditor
http://terrylee.cnblogs.com/archive/2005/12/27/305594.html
3.CodeSmith实用技巧(三):使用FileDialogAttribute
http://terrylee.cnblogs.com/archive/2005/12/27/305598.html
4.CodeSmith实用技巧(四):使用扩展属性
http://terrylee.cnblogs.com/archive/2005/12/27/305618.html
5.CodeSmith实用技巧(五):利用继承生成可变化的代码
http://terrylee.cnblogs.com/archive/2005/12/28/306222.html
6.CodeSmith实用技巧(六):使用XML 属性
http://terrylee.cnblogs.com/archive/2005/12/28/306230.html
7.CodeSmith实用技巧(七):从父模版拷贝属性
http://terrylee.cnblogs.com/archive/2005/12/28/306231.html
8.CodeSmith实用技巧(八):生成的代码输出到文件中
http://terrylee.cnblogs.com/archive/2005/12/28/306233.html
9.CodeSmith实用技巧(九):重载Render方法来控制输出
http://terrylee.cnblogs.com/archive/2005/12/28/306234.html
10.CodeSmith实用技巧(十):通过编程执行模版
http://terrylee.cnblogs.com/archive/2005/12/28/306236.html
11.CodeSmith实用技巧(十一):添加设计器的支持
http://terrylee.cnblogs.com/archive/2005/12/28/306239.html
12.CodeSmith实用技巧(十二):自动执行SQL脚本
http://terrylee.cnblogs.com/archive/2005/12/28/306800.html
13.CodeSmith实用技巧(十三):使用CodeTemplateInfo对象
http://terrylee.cnblogs.com/archive/2005/12/28/306801.html
14.CodeSmith实用技巧(十四):使用Progress对象
http://terrylee.cnblogs.com/archive/2005/12/28/306804.html
15.CodeSmith实用技巧(十五):使用快捷键
http://terrylee.cnblogs.com/archive/2005/12/28/306805.html
===============
“kid-li”翻译CodeSmith API系列:
1.CodeSmith的基础模版类
http://kid-li.cnblogs.com/archive/2005/12/28/306269.html
CodeSmithCodeSmith 学习
code smith 使用介绍
利用CodeSmith为SQL Server CE生成项目代码 Posted on 2008-03-29 12:55 黎波 阅读(3700) 评论(4) 编辑 收藏 网摘 所属分类: SQL Server Compact 、Mobile Tools 摘要:CodeSmith是很多.NET开发人员至爱的开发辅助工具,它能够使开发人员从大量枯燥无味的重复编码中解脱,集中精力解决实际业务问题和技术问题。本文将介绍如何将CodeSmith用于Windows Mobile项目,以SQL Server Compact Edition数据库作为代码生成的依据生成项目代码。 什么是代码生成器? 代码产生器是产生式编程(Generative Programming)在实际应用中的一种产物。它以系统建模为基础,通过抽象各种系统间的共性与特性,利用代码模板和组件重用技术,自动产生满足客户需求的软件产品。从而降低成本,减少软件推向市场的时间,并且保证更好的产品质量。最终取得规模经济和范围经济的优点。2004年我还在大学读书的时候曾开发过一个基于模板引擎的代码生成器——RapidTie阅读全文>
code Smith 使用学习
CodeSmith在执行模版时通过调用一些API来完成的,主要经过了以下这几步的操作: l 编译一个模版 l 显示编译错误信息 l 创建一个新的模版实例 l 用元数据填充模版 l 输出结果 下面这段代码显示了这些操作: CodeTemplateCompiler compiler = new CodeTemplateCompiler("..\\..\\StoredProcedures.cst"); compiler.Compile(); if (compiler.Errors.Count == 0) { CodeTemplate template = compiler.CreateInstance(); DatabaseSchema database = new DatabaseSchema(new SqlSchemaProvider(), @"Server=(local)\NetSDK;Database=Northwind;In阅读全文>
CodeSmith 实例2
FileNameEditor类给我们提供了在CodeSmith属性面板中弹出打开或保存文件对话框的方式,在使用时,首先在模版中得添加对程序集CodeSmith.CustomProperties的引用。然后就可以在模版中定义一个属性来使用FileNameEditor: 1 24 25 当我们执行该模版时,在属性面板中同样显示为一个按钮: 单击该按钮,弹出一个保存文件的对话框: 我们也可以通过FileDialogAttribute来自定义弹出的对话框,修改模版为: 1private string _openFileName = @"c:\temp\test.txt"; 2 3 4[Editor(typeof(FileNameEditor), typeof(System.Drawing.Design.UITypeEditor)), 5 6FileDialogAttribute(FileDialogType.Open, Title="Select Input File"), 7 8Category("Custom"), Desc阅读全文>
CodeSmith 使用实例
StringCollection提供了一种集合的输入方式,在代码中,可以用Array的方式来引用。在使用这个类之前,在模版中我们必须添加对CodeSmith.CustomProperties程序集的引用: 添加完程序集之后,我们就可以使用StringCollection在脚本块中定义一个属性: 执行该模版时,这个属性将在属性窗体中显示为一个按钮: 单击按钮,将会弹出一个String Collection Editor对话框: 当然也可以直接在属性窗口中编辑StringCollection。 模版代码如下: using System; namespace Test { /**//// /// 测试StringCollection /// public class Test { public static void Main(strin阅读全文>
CodeSmith的基础模版类
基础模版类类型描述: Batch OutputFileCodeTemplate 模版通过继承此类能够在生成过程中把他们的输出保存到文件中 ScriptError 在脚本执行中出现一个错误 ScriptErrorCollection ScriptResult 一个脚本的运行结果包含一些已经发生的错误 ScriptUtility 这个类能用来在数据库上执行Sql脚本。 SqlCodeTemplate 继承此类的模版当从一个Sql数据源生成代码时能够获得很多有用的帮助方法 StringUtility 多种处理string型的方法 各类型下的成员属性及方法 Batch Class 属性 Content LineCount StartLineNumber 方法 Finalize 在一个对象再次创建之前获得空闲资源并且执行其他的清空操作 MemberwiseClone 建立现有对象的副本 OutputFileCodeTemplate Class 属性 CodeTempla阅读全文>