项目介绍
这是一个基于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 新增 ${include(..\template.txt)} 语法,支持模板内的引用


关联项目:
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