我拥有的是:
public class Rate
{
public List<Charge> CarrierCharges { get; set; }
public List<Charge> CustomerCharges { get; set; }
public List<Charge> ThirdPartyCharges { get; set; }
}
我需要它映射到这个:
public class Quote
{
public List<Charge> Charges { get; set; }
}
需要发生的是需要添加到报价单上的费用。另外棘手的部分是,在Quote charge上,有一个Type字段需要根据它映射的列表来设置。因此,如果它们是CarrierCharges,则需要将类型设置为Carrier等。我正在使用AfterMap执行此操作,但我想要查看是否有更好的方法。
答案 0 :(得分:0)
Mapper.CreateMap<Rate, Quote>()
.ForMember(t => t.Charges, o => o.MapFrom(s => s.CarrierCharges.Concat(s.CustomerCharges).Concat(s.ThirdPartyCharges).MapList<QuoteNamespace.Charge>()));