我在两个复杂对象之间进行映射,并且我实现了一个ITypeConverter
,我使用它......
CreateMap<ChildDto, ChildViewModel>().ConvertUsing<ChildConverter>();
我也有一个父对象......
CreateMap<ParentDto, ParentViewModel>().ConvertUsing<ParentConverter>();
现在,ParentDto
包含许多ChildDto
和ParentViewModel
的实例,其中包含许多ChildViewModel
个实例。
如何配置AutoMapper以允许我在两个级别重用子映射配置?
例如,我可以使用......
CreateMap<ChildDto, ChildViewModel>().ConvertUsing<ChildConverter>();
CreateMap<ParentDto, ParentViewModel>()
.ForMember(dest => dest.ChildA, opt => opt.MapFrom(src => src.ChildA)
.ForMember(dest => dest.ChildB, opt => opt.MapFrom(src => src.ChildB)
...正确映射子属性,但不映射对象的其余部分。或者,我可以使用我现有的......
CreateMap<ParentDto, ParentViewModel>().ConvertUsing<ParentConverter>()
...映射对象的其余部分,但不映射子属性。在ParentConverter
内我可以手动映射子属性,但是可以重用现有的映射逻辑而不是在两个地方实现相同的东西吗?