class SomeObject
{
public string name {get;set;}
}
class CustomCollection : List<SomeObject>
{
public int x {get;set;}
public string z {get;set;}
}
class A
{
public CustomCollection collection { get ; set; }
}
class B
{
public CustomCollection collection { get ; set; }
}
// Creating mapping
Mapper.CreateMap<A, B>();
A を B にマップすると、CustomCollection の X と Z を除くすべてのプロパティが正しくマップされます。
CustomCollection は初期化された SomeObject のリストを正しく取得し、SomeObject.Name も正しくマップされます。
コレクションで宣言したカスタム プロパティ X、Z のみがマップされません。
私は何を間違っていますか?
私が見つけた唯一の方法は、以下のようなアフター マッピングを行うことですが、それは automapper を使用する目的をやや無効にし、CustomCollection に新しいプロパティを追加するたびに壊れます。
Mapper.CreateMap<A, B>().AfterMap((source, destination) => {
source.x = destination.x;
source.z = destination.z ;
});