2016-11-24 61 views
0
public string AdjustTimezoneForDisplay(DateTime date) 
{ 
    //....... 
} 

automapper配置定製automapper場

Mapper.Initialize(config => 
{ 
    config.CreateMap<EquipmentOther, KMEquipmentOthers>() 
       .ForMember(x=>x.Status,opt=>opt.Ignore()) 
       .ForMember(x => x.CreatedOn, opt => opt.MapFrom(src =>src.CreatedOn)); 
} 

什麼想實現是調整時區CreatedOn領域,如下面的代碼

ObjKMEquipmentOthers.CreatedOn = this._Utility.AdjustTimezoneForDisplay(EquipmentOtherDetails.CreatedOn); 

會有人請幫我達到此目的

ps:AdjustTimezoneForDisplay是調整時區並返回本地ti的函數我

+1

'.ForMember(X => x.CreatedOn,選擇=> opt.MapFrom(this._Utility.AdjustTimezoneForDisplay(opt.CreatedOn)))' –

+0

@AmitKumarGhosh表達式不是vaild,opt.MapFrom( opt.CreatedOn)second opt doesnot contains CreatedOn –

+0

.ForMember(x => x.CreatedOn,opt => opt.MapFrom(x => AdjustTimezoneForDisplay(x.CreatedOn)));這是工作時,我改變靜態類非靜態 –

回答

0

這個工作對我來說,希望這將有助於任何人在未來

.ForMember(x => x.CreatedOn, opt => opt.MapFrom(x => AdjustTimezoneForDisplay(x.CreatedOn))); 

和ps:AdjustTimezoneForDisplay必須是靜態的(initialy它是無靜電,這是我的問題),再次映射initilizer也靜態

public static string AdjustTimezoneForDisplay(DateTime date) 
{ 
//....... 
} 
public static void RegisterMaps() 
{ 
    Mapper.Initialize(config => 
    { 
    config.CreateMap<EquipmentOther, KMEquipmentOthers>() 
      .ForMember(x=>x.Status,opt=>opt.Ignore()) 
      .ForMember(x => x.CreatedOn, opt => opt.MapFrom(x => AdjustTimezoneForDisplay(x.CreatedOn))); 
    } 
}