自动映射器将要映射的子对象聚焦

时间:2015-07-22 13:19:44

标签: c# automapper-3

我正在尝试将响应对象从webservice映射到我的项目中的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));

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

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

1 个答案:

答案 0 :(得分:1)

AutoMapper仅映射顶级对象。

如果您的课程按以下方式构建,则无法使用:

Class A
{
  B b;
}

Class B
{

}

A类不知道如何在A类中映射属性B.

为此,您需要创建一个Profile类。

Auto Mapper tutorial