项目介绍
这是一个基于Razor Engine的代码生成器,在强大的Razor语法支持下通过编写模板针对数据库的Schema或者一段SQL的查询结果生成代码。(模板使用Razor C# 语法)

运行前提:
安装 .net 4.0 client profile

特性:
1. 支持多种主流数据库(因为使用OleDb获得Schema,理论上OleDb支持的数据库都可以。)
2. 编写模板比较简单,生成代码非常灵活,并且有一定程度的错误提示(这主要归功于RazorEngine的强大)
    Razor模板内嵌的helper方法,让你编写模板如虎添翼
   例)

@helper GetDbType(string type, string scale) {
  @if(type == "System.Decimal" && scale == "0") {
     @("Integer")
  } else if (type == "System.Decimal" && scale != "0") {
     @("BigDecimal")
  } else {
     @("String")
  }
}

3. 支持文件名的参数化,你可以批量生成代码
4. 可以Append方式生成代码(可将多个Table的信息生成到一个文件中),生成代码更方便
5. 可以通过自定义SQL生成代码

待完善功能:
1. 增加Razor语法着色
2. 增加预览功能 

----- 程序截屏 -----


语法说明:
通过Schema生成代码时,Model.Columns 里有下面列举出的属性可以利用:

 

 

 

foeach(var x in @Model.Columns)
{
   @x.ColumnName
   @x.ColumnSize
   @x.ColumnOrdinal
   @x.NumericPrecision
   @x.NumericScale
   @x.DataType
   @x.IsLong
   @x.AllowDBNull
   @x.IsReadOnly 
   @x.IsUnique
   @x.IsKey
   @x.IsAutoIncrement
   @x.BaseTableName
   @x.BaseColumnName
   @x.Description
}

 

 

 

2012/10/27 新增
1. ${include(..\template.txt)} 语法,支持模板内的引用
2. 全局变量设定 


关联项目:
1. RazorEngine: http://razorengine.codeplex.com/
2. MahApps.Metro: https://github.com/MahApps/MahApps.Metro
3. avalonDock: http://avalondock.codeplex.com
4. MvvmLight: http://mvvmlight.codeplex.com

Last edited Oct 28, 2012 at 1:59 PM by FelixFang, version 16