2015-09-17 81 views
1

我有一個非常奇怪的問題,我無法解釋。此顯示爲AutomapperProfile:Automapper:只有先包含作品

  CreateMap<BO, AbstractDto>() 
      .Include<BO, ConcreteDto1>() 
      .Include<BO, ConcreteDto2>() 
      .ForMember(d...)); 

我有同樣的業務對象,並用兩個具體的實現一個抽象的DTO。 如果我只是使用它,AutoMapper只識別第一個包含,但忽略第二個,並引發異常。 我首先驗證了這一點,包括ConcreteDto2,它導致這個映射工作和ConcreteDto1拋出。

我發現的最接近的答案是: AutoMapper -- inheritance mapping not working, same source, multiple destinations但在我的情況下,它絕對只需要第一個包含。

這是線程中的問題,還是存在另一個問題?如果是的話,有沒有代碼複製周圍方便的解決方案?

在此先感謝

馬蒂亞斯

回答

2

這是AutoMapper 4.0中的錯誤,以開放來解決它的4.1 PR。目前,您需要使用Mapper.Initialize而不是Mapper.CreateMap來執行初始配置。

+0

非常感謝您的信息 –