Automapper:我可以使用CreateMap创建的相同规则来映射两种方式吗?
本文关键字:规则 映射 两种 方式吗 我可以 可以使 创建 CreateMap Automapper | 更新日期: 2023-09-27 18:02:11
我对映射的方向有点困惑。
这是创建映射。
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 => Dimension:
Dimension dimension = Mapper.Map<PostedDimensionViewModel, Dimension>(model);
如果,我想去从Dimension => PostedDimensionViewModel,我需要另一个CreateMap或者我可以使用相同的上面的映射从两个方向?
谢谢你的帮助。
就这样做:
Mapper.CreateMap<Source, Destination>()
/* your other stuff here */
.ReverseMap();
这里有限制,我不建议这样做,除非在两个dto之间。
是的,如果您打算使用另一个方向,则需要提供额外的地图。如果你试图在没有额外映射的情况下使用AutoMapper,你会得到一个异常:
AutoMapperMappingException:缺少类型映射配置或不支持映射。
映射类型:PostedDimensionViewModel→维