2015-07-22 4 views
0

Я пытаюсь отобразить объект ответа из webservice в класс в моем проекте. Я думал, что Automapper будет автоматически отображать объекты sub, но не до тех пор, пока они не будут принудительно установлены для элемента. Зачем мне это делать?Атрибуты подкаталогов 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));

Почему Привычка automapper карту мой су bobjects, когда я упоминаю отображение класса как этот

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

ответ

1

AutoMapper только карта верхнего уровня объекта.

Если ваш класс построен следующим образом он не будет работать:

Class A 
{ 
    B b; 
} 

Class B 
{ 

} 

класса А не будет знать, как отобразить свойство B внутри класса А.

Для этого вам нужно будет создайте класс профиля.

Auto Mapper tutorial