轻量级代码生成器-OnlyCoder 第二篇

最近利用业余时间将OnlyCoder又重新打造了一番,使其使用起来更简单、更顺手。

相关的帮助文档也已发布了版本。

界面改版,UI采用了DotNetBar2组件。

还是先看下UI效果吧。

 

由于使用了 ICSharpCode.TextEditor.TextEditorControl 控件,貌似与DotNetBar2 存在不兼容问题,还在解决中。只要不打开模板编辑器就不会出现闪退的情况。

重点说下项目管理:

可在这配置生成的项目信息,项目的中文名,英文名。

 

项目里面可配置表相关信息,例如表的前缀、格式化后的表名,例如的表为System_Users,由于MySql表名均为小写 这个时候可以将格式化后的表名设置为Users,可在生成后的类中不体现System_前缀。

接下来看下帮助文档:

 

列举了模板编写相关的上下文字段和帮助函数。可根据语法自行编写适合自己的项目模板!

看一个Model 类的模板代码:

 1 {setting:outExtension=".cs"   outFolder="/Model/" outFileName="@Model.CurrentFormatTableName"  /}
 2 #region
 3 //======================================================================
 4 // Copyright (c) @Model.CurrentProjectName  development team. All rights reserved.
 5 // 所属项目:@Model.CurrentProjectName
 6 // 创 建 人:@Model.CurrentProjectName development team
 7 // 创建日期:@DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
 8 // 用    途:@Model.CurrentTableInfo.Description (@Model.CurrentFormatTableName)实体类
 9 //======================================================================
10 #endregion
11 
12 using System; 
13 using System.Text;
14 using System.Collections.Generic; 
15 using System.Data;
16 
17 namespace @string.Concat(Model.CurrentProjectName,".Model")
18 {
19     /// <summary>
20     /// @Model.CurrentTableInfo.Description
21     /// </summary>
22     public class @Model.CurrentFormatTableName
23     {
24        @{
25             List<ColumnInfo> columnInfoList=@Model.CurrentTableColumnInfoList;
26             if(columnInfoList!=null&&columnInfoList.Count()>0)
27             {
28                 foreach(ColumnInfo columnInfo in columnInfoList)
29                 {  
30                     @:private @Raw(ParseHelperService.DBType2CSharpType(@Model.CurrentDbType,@columnInfo))   @string.Concat("_",columnInfo.Name.ToLower());
31                 }
32                 @:
33                 foreach(ColumnInfo columnInfo in columnInfoList)
34                 {  
35                     @:/// <summary>
36                     @:/// @columnInfo.Description
37                     @:/// </summary>            
38                     @:public @Raw(ParseHelperService.DBType2CSharpType(@Model.CurrentDbType,@columnInfo))   @columnInfo.Name
39                     @:{
40                     @:    get{ return @string.Concat("_",columnInfo.Name.ToLower()); }
41                     @:    set{ @string.Concat("_",columnInfo.Name.ToLower()) = value; }
42                     @:}
43                     @:
44                 }
45              }
46              else
47              {
48                @:columnInfoList is null
49              }
50         }
51     }
52 }
View Code

 

欢迎进群沟通下载:580695558    

 

posted @ 2017-07-09 16:41  晓道  阅读(1378)  评论(0编辑  收藏  举报