首页 > 代码库 > 轻量级代码生成器-OnlyCoder 第二篇

轻量级代码生成器-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 #endregion11 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.Description21     /// </summary>22     public class @Model.CurrentFormatTableName23     {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.Description37                     @:/// </summary>            38                     @:public @Raw(ParseHelperService.DBType2CSharpType(@Model.CurrentDbType,@columnInfo))   @columnInfo.Name39                     @:{40                     @:    get{ return @string.Concat("_",columnInfo.Name.ToLower()); }41                     @:    set{ @string.Concat("_",columnInfo.Name.ToLower()) = value; }42                     @:}43                     @:44                 }45              }46              else47              {48                @:columnInfoList is null49              }50         }51     }52 }
View Code

 

欢迎进群沟通下载:580695558    

 

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