使用AutoMapper合并两个对象以产生第三个对象
我知道它是AutoMapper而不是AutoMerge(r),但是...
我已经开始使用AutoMapper,并且需要映射A - > B,并从C中添加一些属性,以便B成为A + C的一种平面组合。
这可能在AutoMapper中,我应该只使用AutoMapper来完成繁重的工作,然后手动映射额外的属性?
你可以用ValueInjecter来做到这一点
a.InjectFrom(b)
.InjectFrom(c)
.InjectFrom<SomeOtherMappingAlgorithmDefinedByYou>(dOrBOrWhateverObject);
这不行吗?
var mappedB = _mapper.Map<A,B>(aInstance);
_mapper.Map(instanceC,mappedB);
从我记得的AutoMapper中,你必须将你的映射定义为一个输出的一个输入(也许这已经改变 - 因为一个月没有使用它)。
如果是这种情况,也许你的映射应该是KeyValuePair<A,C>
(或者某种组成A&C的对象)=> B
这样你可以有一个定义的输入参数映射到你的输出对象
链接地址: http://www.djcxy.com/p/6373.html上一篇: Merge two objects to produce third using AutoMapper
下一篇: Automapper: Update property values without creating a new object