2017-06-22 13 views
1

を一覧表示するオブジェクトの単方向通信Iは、以下のモデルを持っていますFooタイプの汎用のList<>(または他のIEnumerableタイプ)のFooDTOプロパティに変換します。Automapper

答えて

1

それはAfterMapResolutionMapper.Mapper.Map呼び出しで可能です:

var configuration = new MapperConfiguration(cfg => 
{ 
    cfg.CreateMap<Foo, FooDTO>(); 

    cfg.CreateMap<Foo, Bar>() 
     .AfterMap((src, dest, ctx) => 
     { 
      dest.Foos = new List<FooDTO>(); 

      var node = src.Parent; 

      while (node != null) 
      { 
       dest.Foos.Add(ctx.Mapper.Map<FooDTO>(node)); 

       node = node.Parent; 
      }; 
     }); 
}); 

var mapper = configuration.CreateMapper(); 
+0

フム、おかげで、しかし、親も親を持っている場合はどう? – Sigin

+1

@Siginはサイクルを使います。回答が更新されました。 –

+0

thats、thanks;) – Sigin