zoukankan      html  css  js  c++  java
  • 动软Model 模板 生成可空类型字段

    动软代码 生成可空类型

    <#@ template language="c#" HostSpecific="True" #>
    <#@ output extension= ".cs" #>
    <#
        TableHost host = (TableHost)(Host);
        host.Fieldlist.Sort(CodeCommon.CompareByintOrder);
    #>
    using System; 
    using System.Text;
    using System.Collections.Generic; 
    using System.Data;
    namespace <#= host.NameSpace #>.Model<# if( host.Folder.Length > 0) {#>.<#= host.Folder #><# } #>
    {
        <# if( host.TableDescription.Length > 0) {#>
         //<#= host.TableDescription #>
        <# } #>
        public class <#= host.GetModelClass(host.TableName) #>
        {
                    
              <# foreach (ColumnInfo c in host.Fieldlist)
            { #>/// <summary>
            /// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
            /// </summary>        
            private <#= GetTypeName(c) #> _<#= c.ColumnName.ToString().ToLower() #>;
            public <#= GetTypeName(c) #> <#= c.ColumnName #>
            {
                get{ return _<#= c.ColumnName.ToString().ToLower()#>; }
                set{ _<#= c.ColumnName.ToString().ToLower() #> = value; }
            }        
            <# } #>
            
            
       
        }
    }
    
    <#+
                private string GetTypeName(ColumnInfo c)
                {
                    if(c.Nullable && (CodeCommon.DbTypeToCS(c.TypeName).ToString().ToLower())!="string") //如果字段可以为空,并且不是字符串类型 转换为可空类型
                    {
                       return CodeCommon.DbTypeToCS(c.TypeName)+"?";
                    }
                    
                    else
                    {
                         return CodeCommon.DbTypeToCS(c.TypeName);
                    }
                    
                }
            
            #>

    1.Model中值类型的字段改为可空类型。具体设置:工具-选项-代码参数-字段类型映射中[isValueType]段;
     如果不需要,可将配置文件中的相应字段删除即可。
    2.批量代码生成,表名统一去前缀功能
    3.代码生成器加入代码保存功能
    4.增加了高效连接模式:适合大量表的情况下,启用此项实现快速连接。
    5.增加对MySQL数据库的支持。
    6.查询分析器右键附加功能:根据sql语句直接生成SQL脚本的拼接代码,这样提供更灵活的数据层代码生成。
    7.查询分析器右键附加功能:根据sql查询结果生成数据脚本,而不是整个表的数据脚本。
    8.基于sql方式DAL代码生成,add方法增加字段空值插入的判断
    9. BLL增加public List<> GetModelList()方法,返回list<>数据。
    10.记录错误日志信息。
    11.发布BLL层代码模板组件源码。
    12.发布Web层代码生成组件源码。
    13.发布Model代码生成组件源码

  • 相关阅读:
    c# 文件上传
    iOSswift基础篇1
    copyWithZone 的使用方法
    客户端登陆接收大量数据导致数据丢失问题解决方法
    设计模式观察者模式(KVO)
    SQLite 之 C#版 System.Data.SQLite 使用
    设计模式MVC(C++版)
    JS 创建自定义对象的方法
    手机号、邮箱、身份证号 格式 验证
    在.cs文件中添加客户端方法
  • 原文地址:https://www.cnblogs.com/zhouxiuquan/p/5348505.html
Copyright © 2011-2022 走看看