·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 动软Model 模板 生成可空类型字段

动软Model 模板 生成可空类型字段

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

动软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                 else45                 {46                      return CodeCommon.DbTypeToCS(c.TypeName);47                 }48                 49             }50         51         #>