[英]Automapper foces subobjects to be mapped
我正在尝试将响应对象从Web服务映射到我的项目中的类。 我以为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));
为什么当我提到这样的类映射时,自动映射器为什么不映射我的子对象
Mapper.CreateMap<GetIfpQuoteResponse.Quote, QuoteWSModel>(); Mapper.CreateMap<GetIfpQuoteResponse.Quote.Carrier, CarrierRateModel>(); Mapper.CreateMap<GetIfpQuoteResponse.Quote.DroppedCarrier, DroppedCarrierModel>();
AutoMapper仅映射顶级对象。
如果您的班级是通过以下方式构建的,则它将无法正常工作:
Class A
{
B b;
}
Class B
{
}
A类将不知道如何在A类内部映射属性B。
为此,您将需要创建一个Profile类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.