轻量级代码生成器-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 @   晓道  阅读(1388)  评论(0编辑  收藏  举报
编辑推荐:
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
历史上的今天:
2016-07-09 Windbg+Procdump解决w3wp.exe CPU过百问题
点击右上角即可分享
微信分享提示