下載了動(dòng)軟代碼生成器的2.78版本,連接上數(shù)據(jù)庫(kù)服務(wù)器,然后右擊相應(yīng)的表,選擇模板代碼生成,然后在使用自帶的model模板生成實(shí)體層類文件時(shí),發(fā)現(xiàn)如果數(shù)據(jù)庫(kù)中的字段可以為null的話,生成的實(shí)體類的屬性和字段的類型并沒(méi)有轉(zhuǎn)變?yōu)榭煽疹愋停囍薷牧讼履0澹罱K達(dá)到了目的,模板如下:
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") //如果字段可以為空,并且不是字符串類型 轉(zhuǎn)換為可空類型40 {41 return CodeCommon.DbTypeToCS(c.TypeName)+"?";42 }43 44 else45 {46 return CodeCommon.DbTypeToCS(c.TypeName);47 }48 49 }50 51 #>新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注