簡體   English   中英

Automapper 將多個列表從源映射到目標上的單個列表

[英]Automapper mapping multiple lists from source to single list on destination

我有的是這個:

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 費用上,有一個 Type 字段需要根據它從哪個列表映射來設置。 因此,即如果它們是 CarrierCharges,則需要將類型設置為 Carrier 等。我正在使用 AfterMap 執行此操作,但我想問問是否有更好的方法。

您想要執行以下操作:

  Mapper.CreateMap<Rate, Quote>()
   .ForMember(t => t.Charges, o => o.MapFrom(s => s.CarrierCharges
      .Concat(s.CustomerCharges)
      .Concat(s.ThirdPartyCharges)
      .MapList<QuoteNamespace.Charge>()
   ));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM