项目介绍
这是一个基于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