我对映射的方向有点混淆。
这是创建映射。
Mapper.CreateMap<Dimension, PostedDimensionViewModel>()
.ForMember(dto => dto.inputDimension, opt => opt.MapFrom(p => p.DimensionName))
.ForMember(dto => dto.inputDescription, opt => opt.MapFrom(p => p.Description));
然后我可以这样使用它来自 PostedDimensionViewModel =&gt;尺寸:
Dimension dimension = Mapper.Map<PostedDimensionViewModel, Dimension>(model);
如果,我想要从 Dimension =&gt; PostedDimensionViewModel ,我是否需要另一个 CreateMap ,或者我可以从两个方向使用相同的上述映射?
感谢您的帮助。
答案 0 :(得分:2)
这样做:
Mapper.CreateMap<Source, Destination>()
/* your other stuff here */
.ReverseMap();
这里有一些限制,除了两个DTO之外,我不建议这样做。
答案 1 :(得分:1)
是的,如果您打算向另一个方向前进,则需要提供额外的地图。如果您尝试在没有额外地图的情况下使用AutoMapper,您将获得例外:
AutoMapperMappingException:缺少类型映射配置或不支持的映射。
映射类型:
PostedDimensionViewModel - &gt;尺寸