我有一個用VS2015開發的asp.net mvc應用程序。Auto Mapper v4.2.1 - 缺少類型映射配置或不支持的映射
在Global.asax.cs中的Application_Start方法中包含以下內容的方法被稱爲:
Mapper.Initialize(cfg => cfg.CreateMap<Domain.ESB.Fault, Models.FaultVmRec>());
Mapper.Initialize(cfg => cfg.CreateMap<Models.FaultVmRec, Domain.ESB.Fault>());
我檢查,這並獲得通過添加一個斷點執行。
在我的控制,我有以下幾點:
faultVmRec = Mapper.Map<Fault, FaultVmRec>(item);
在這條線,我發現了異常:
{「缺少類型映射配置或不支持的映射\ r \ n \ r \ n映射類型:\ r \ nFault - > FaultVmRec \ r \ nLGSS.Unit4.BamPortal.Domain.ESB.Fault - > LGSS.Unit4.BamPortal.Website.Models.FaultVmRec \ r \ n \ r \ n目標路徑:\ r \ nFaultVmRec \ r \ n \ r \ n來源值:\ r \ nSystem.Data.Entity.DynamicProxies.Fault_805BF7128A26886D33A8989DFA212C8E378EDADE588B0922B23ECFE7F697D907「}
然而,如果我粘貼到執行圖如下之前明確初始化的映射:
Mapper.Initialize(cfg => cfg.CreateMap<Domain.ESB.Fault, Models.FaultVmRec>());
faultVmRec = Mapper.Map<Fault, FaultVmRec>(item);
然後它工作正常!
任何人都可以看到我要出錯的地方嗎?
爲什麼你不只是做類似'Mapper.Initialize(CFG => {cfg.CreateMap <>(); cfg.CreateMap <>();'但更進一步,爲什麼不使用配置文件呢?這已經成爲automapper的標準方法 –