2017-11-05 8 views
1

我々は次のクラスがあるとします。AutoMapperを構成してプロパティをフラット化する方法は?

public class A { 
    public B[] Bs { get; set; } 
} 

public class B { 
    public int Id { get; set; } 
} 

public class C { 
    public int[] Xs {get; set; } 
} 

タイプCのオブジェクトにタイプAのオブジェクトをマッピングするためにAutoMapperを設定する最も簡単な方法は何ですか?意図する効果はA.BsがC.Xsに平らになるべきであるということです。

答えて

0

「最も簡単な」わからないが、それを行うための一つの方法は、

Mapper.Initialize(cfg => { 
    cfg.CreateMap<A, C>().ForMember(c => c.Xs, c => c.MapFrom(r => r.Bs.Select(a => a.Id))); 
}); 
です
関連する問題