Water for asp.net 之十三:用代码生成机简化开发

water-logo 

source code address:water source

demo address:water demo

blogs address:water bolgs

     基于各位园友的建议,前两天研究了一下CodeSmith,今天花了一天时间写了一个用于生成Water ORM部分(其实是Water除界面开发外)的代码生成器,效果还不错,写出来和大家交流。

下载地址:code generator

  1. CodeSmith版本:CodeSmith Professional 5.2.0
  2. 包括的模板和C#文件

    其中Main.cst模板是主模板,只执行它就可以了。
  3. Main.cst模板参数
    执行Main.cst会弹出模板的参数界面,如:

    其各主要参数的说明如下:
    SourceTable:数据库表
    SourceView:数据库视图
    SourceSql:数据库SQL
    DatabaseNameSeperator:数据库命名间隔符
    NameSpacePrefix:命名空间前缀
    DeveloperName:开发者
    Description:描述信息
    ConnectionStringName:连接字符串名字
    DefaultOrderByExpress::排序表达式
    QueryOnly:是否仅查询
    AlonePrompt:是否生成独立的Prompt文件(默认为true生成独立的Prompt文件,为false时Prompt生成在实体配置文件中)
    RmoveNamePrefix:要清楚的表或视图前缀
    RmoveNameSuffix:要清楚的表或视图后缀
    SourceType:数据库数据源类型(只读,依据SourceTable、SourceView、SourceSql的情况会相应的变化)
    OutputDirectory:输出目标路径
    BusinessKey:业务关键字(改关键字在是生成各文件和类的依据)
  4. 点击Generate后,后生成如下文件:

    result 
    部分文件源码如下:
    PrvMenu.entity.xml

    PrvMenu.prompt.xml

    IPrvMenuDAL

    从上名代码中我们可以看到CodeSmith还能从数据库中的到各字段的说明信息,此外在Log目录下每次会生如PrvMenu.properties.2010-07-14 17-49-48.xml格式的模板properties文件用以备份当前生成时的属性,可用于以后重新生成。

posted on 2010-07-14 23:07  guoqiang.liu  阅读(2103)  评论(3编辑  收藏  举报