我有一个非常奇怪的问题,我无法解释。请参阅此Map以获取AutomapperProfile:
CreateMap<BO, AbstractDto>()
.Include<BO, ConcreteDto1>()
.Include<BO, ConcreteDto2>()
.ForMember(d...));
我有相同的Business-Object和一个带有两个具体实现的抽象Dto。 如果我只使用它,AutoMapper只识别第一个Include,但忽略第二个并抛出异常。 我首先验证了这一点,包括ConcreteDto2,它导致这个映射工作,并抛出ConcreteDto1。
我找到的最接近的答案是: AutoMapper -- inheritance mapping not working, same source, multiple destinations但在我的情况下,它肯定只需要第一个包含。
这是与Thread相同的问题,还是有其他问题?如果是的话,是否有一个方便的解决方案,没有代码重复?
提前致谢
的Matthias
答案 0 :(得分:2)
这是AutoMapper 4.0中的一个错误,PR打开以修复4.1。目前,您需要使用Mapper.Initialize
代替Mapper.CreateMap
来执行初始配置。