好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ERP代码生成器(开源,提供源码下载)

ERP代码生成器(开源,提供源码下载)

ERP代码生成器

这个代码生成器的作用是弥补Code Smith在批量表生成方面的不足。

代码生成器运行效果

基本的使用方法是,选择数据库,左边的树会列出数据库中的所有表,在参数区域,Template会列出当前目录下的CodeSmith模板,选择一个模板,Parameter会列出选中的模板的参数信息,选择生成的代码的存放路径为Target Folder

解决方案视图

下载源代码到本地后,请先添加程序集引用,包括Code Smith和SMO

SMO是操作SQL Server元数据的一套非常有效率的API,以用于获取SQL Server表信息

程序代码只有2个窗体,主窗体和连接数据库的窗体,在启动主程序后,自动会打开数据库连接窗体

之后,会在主窗体中显示打开的数据库,及它的所有表。

点击树节点前的CheckBox,会将该表添加到要生成模板代码的表中,中间一列是文本框,可以编辑。

Template会列出当前目录中所有cst结尾的文件,这里没有验证该文件是否是CodeSmith模板文件

lstTemplate.Items.Clear();

string[] files=Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory, "*.cst");

lstTemplate.Items.AddRange(files);

在参数填写区域,请用=将参数名和参数值配对填写

对于Target Folder,窗体启动时会给当前路径默认值

txtTargetFolder.Text = AppDomain.CurrentDomain.BaseDirectory;

真正实现调用Code Smith模板,生成代码的方法

CodeTemplateCompiler compiler = new CodeTemplateCompiler(templateFile);

compiler.Compile();

if (compiler.Errors.Count == 0){

CodeTemplate template = compiler.CreateInstance();

DatabaseSchema database = new DatabaseSchema(new SqlSchemaProvider(), connectionString);

TableSchema tableSchema = database.Tables[tableName];

template.Render(writer);

}

这就是这个代码生成器的全部了,关键的内容还是在Code Smith模板的编写

这里还有一个小问题,请看图

Table Node和它的CheckBox之前的距离太小,有些不美观,一直找不到是如何设置参数,能让CheckBox与Node之间的距离增大一点,以保持美观。

请到 http://epn.codeplex.com/ 获取最新的代码和文档。

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于ERP代码生成器(开源,提供源码下载)的详细内容...

  阅读:58次