zoukankan      html  css  js  c++  java
  • 轻量级代码生成器-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    

  • 相关阅读:
    Android_AsyncTask
    table隔行变色【转】
    添加对WCF的调用(内网状态下)。
    【转】IDEA 2017破解 license server激活
    C# LIst去重
    框架内事务的近期发现,以后再研究
    启动、停止、删除Windows服务
    软件项目总结中的经验总结
    iis最大连接数和队列长度
    在一个千万级的数据库查寻中,如何提高查询效率?
  • 原文地址:https://www.cnblogs.com/mamingbo/p/7141932.html
Copyright © 2011-2022 走看看