回到目錄
在項目開發過程中,出現了一個問題,就是新添加一個非空字段後,原來的程式邏輯需要被重新修改,即将原來的字段添加到程式裡,這種作法是非常不提倡的,是以,我通過T4模版将原來的實體類小作修改,解決了這個問題,即,在實體裡為非空屬性添加預設值,事實上,也就那種幾種,如string預設為string.Empty,int,short,long預設都是0,而datetime預設為目前日期,這些我們可以在T4子產品中完成
看一下代碼
public <#=code.Escape(entity)#>()
{
<#
foreach (var edmProperty in propertiesWithDefaultValues)
{
#>
this.<#=code.Escape(edmProperty)#> = <#=typeMapper.CreateLiteral(edmProperty.DefaultValue)#>;
<#
}
foreach (var navigationProperty in collectionNavigationProperties)
{
#>
this.<#=code.Escape(navigationProperty)#> = new HashSet<<#=typeMapper.GetTypeName(navigationProperty.ToEndMember.GetEntityType())#>>();
<#
}
foreach (var complexProperty in complexProperties)
{
#>
this.<#=code.Escape(complexProperty)#> = new <#=typeMapper.GetTypeName(complexProperty.TypeUsage)#>();
<#
}
#>
}
儲存模版後,看一下生成的類截圖
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!