zoukankan      html  css  js  c++  java
  • ERP代码生成器(开源,提供源码下载)

    ERP代码生成器

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

    代码生成器运行效果

    clip_image002

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

    解决方案视图

    clip_image003

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

    clip_image004

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

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

    clip_image005

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

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

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

    lstTemplate.Items.Clear();

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

    lstTemplate.Items.AddRange(files);

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

    clip_image006

    对于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模板的编写

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

    clip_image007

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

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

  • 相关阅读:
    Eclipse中插件的运用
    AES加密解密 Java中运用
    DES加密解密 Java中运用
    Chrome中的插件运用
    JqueryEasyUI教程入门篇
    SEO入门教程
    屏幕取色工具
    gif处理
    java 实现序列化的两种方式
    重定向输出 > 1>&2 2>&1
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2085682.html
Copyright © 2011-2022 走看看