[英]Automapper Conditional Collection Mapping
有誰知道一種方法(或解決方法)來按地圖條件條件映射源的屬性?
這里的目的是基於Web服務操作參數有條件地映射子對象的集合。 如:
Parent GetParent(bool includeChildren);
到目前為止,我發現的唯一可行的解決方案是創建一個包裝類以添加一個布爾屬性,例如:
public class ParentMapper
{
Parent Parent;
public bool IncludeChildren {get;set;}
}
或直接在模型源類上添加IncludeChildren屬性,我真的不喜歡,因為目的混合。
完美的解決方案如下所示:
TDestination Map<TSource, TDestination>(TSource source, bool includeCollections);
但是我認為通過有效的解決方案不會給我帶來好運。
任何幫助,將不勝感激...
當前沒有內置功能可讓您實現這一目標。 您可以執行以下操作:
var destinations = Mapper.Map<List<Parent>, List<ParentDto>>(
sources.Where(source => source.Child !=null)
);
另一種方法是:
config.CreateMap<Parent, ParentDto>()
.AfterMap((source, dest) =>
{
if (source.Child !=null)
{
//do some stuff here
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.