輕量級代碼生成器-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