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

    下载了动软代码生成器的2.78版本,连接上数据库服务器,然后右击相应的表,选择模板代码生成,然后在使用自带的model模板生成实体层类文件时,发现如果数据库中的字段可以为null的话,生成的实体类的属性和字段的类型并没有转变为可空类型,试着修改了下模板,最终达到了目的,模板如下:

     1 <#@ template language="c#" HostSpecific="True" #>
     2 <#@ output extension= ".cs" #>
     3 <#
     4     TableHost host = (TableHost)(Host);
     5     host.Fieldlist.Sort(CodeCommon.CompareByintOrder);
     6 #>
     7 using System; 
     8 using System.Text;
     9 using System.Collections.Generic; 
    10 using System.Data;
    11 namespace <#= host.NameSpace #>.Model<# if( host.Folder.Length > 0) {#>.<#= host.Folder #><# } #>
    12 {
    13     <# if( host.TableDescription.Length > 0) {#>
    14      //<#= host.TableDescription #>
    15     <# } #>
    16     public class <#= host.GetModelClass(host.TableName) #>
    17     {
    18                 
    19           <# foreach (ColumnInfo c in host.Fieldlist)
    20         { #>/// <summary>
    21         /// <#= string.IsNullOrEmpty(c.Description) ? c.ColumnName : c.Description #>
    22         /// </summary>        
    23         private <#= GetTypeName(c) #> _<#= c.ColumnName.ToString().ToLower() #>;
    24         public <#= GetTypeName(c) #> <#= c.ColumnName #>
    25         {
    26             get{ return _<#= c.ColumnName.ToString().ToLower()#>; }
    27             set{ _<#= c.ColumnName.ToString().ToLower() #> = value; }
    28         }        
    29         <# } #>
    30         
    31         
    32    
    33     }
    34 }
    35 
    36 <#+
    37             private string GetTypeName(ColumnInfo c)
    38             {
    39                 if(c.Nullable && (CodeCommon.DbTypeToCS(c.TypeName).ToString().ToLower())!="string") //如果字段可以为空,并且不是字符串类型 转换为可空类型
    40                 {
    41                    return CodeCommon.DbTypeToCS(c.TypeName)+"?";
    42                 }
    43                 
    44                 else
    45                 {
    46                      return CodeCommon.DbTypeToCS(c.TypeName);
    47                 }
    48                 
    49             }
    50         
    51         #>
  • 相关阅读:
    bzoj 1196: [HNOI2006]公路修建问题 二分+并查集
    bzoj 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头 筛法
    bzoj 1050: [HAOI2006]旅行comf 并查集
    bzoj 1040: [ZJOI2008]骑士 树形dp
    bzoj 1295: [SCOI2009]最长距离
    bzoj 1070: [SCOI2007]修车 费用流
    bzoj 1057: [ZJOI2007]棋盘制作 单调栈
    bzoj 1059: [ZJOI2007]矩阵游戏 二分图匹配
    sass/scss 和 less的区别
    IONIC实现图片轮播
  • 原文地址:https://www.cnblogs.com/zhiqiu/p/3533493.html
Copyright © 2011-2022 走看看