轻量级代码生成器-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 }
欢迎进群沟通下载:580695558