Automapper 聚焦要映射的子对象

Automapper foces subobjects to be mapped

我正在尝试将响应对象从网络服务映射到我项目中的 Class。我认为 Automapper 甚至会自动映射子对象,除非为成员强制设置,否则不会。我为什么要这样做?

Mapper.CreateMap<GetIfpQuoteResponse.Quote, QuoteWSModel>() .ForMember(dest => dest.CarrierRate, opt => opt.MapFrom(src => src.Carriers)) .ForMember(dest => dest.DroppedCarriers, opt => opt.MapFrom(src => src.DroppedRates)) .ForMember(dest => dest.MemberPlans, opt => opt.MapFrom(src => src.MemberPlans));

当我提到 class 这样的映射时,为什么自动映射器不会映射我的子对象

Mapper.CreateMap<GetIfpQuoteResponse.Quote, QuoteWSModel>(); Mapper.CreateMap<GetIfpQuoteResponse.Quote.Carrier, CarrierRateModel>(); Mapper.CreateMap<GetIfpQuoteResponse.Quote.DroppedCarrier, DroppedCarrierModel>();

AutoMapper 仅映射 顶级 对象。

如果您的 class 是按照以下方式构建的,它将不起作用:

Class A
{
  B b;
}

Class B
{

}

ClassA会不知道怎么映射属性B里面classA.

为此,您需要创建个人资料 class。

Auto Mapper tutorial