对嵌套子对象重用AutoMapper配置

时间:2013-12-12 16:29:38

标签: c# automapper

我在两个复杂对象之间进行映射,并且我实现了一个ITypeConverter,我使用它......

 CreateMap<ChildDto, ChildViewModel>().ConvertUsing<ChildConverter>();

我也有一个父对象......

 CreateMap<ParentDto, ParentViewModel>().ConvertUsing<ParentConverter>();

现在,ParentDto包含许多ChildDtoParentViewModel的实例,其中包含许多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内我可以手动映射子属性,但是可以重用现有的映射逻辑而不是在两个地方实现相同的东西吗?

0 个答案:

没有答案