2017-04-20 3 views
0

私は30以上のプロパティを持つ大きなクラスを持っており、自動的にマッピングする約6つのプロパティ(同じ名前、同じタイプ)を持つ小さなクラスからマップする必要があります。マッピング設定で24以上の.Ignore()のリストを維持する必要はありませんが、残りのすべてのマッピングに対してAutoMapperの検証ルーチンを実行できるようにしたいと思います。しかし、この1つのマッピングが有効かどうかは特に気にしません。AutoMapper小さなクラスから大きなクラスへのバリデーション

私はReverseMapといくつかのIgnore *メソッドを試して、何がうまくいくか確認しました。私はReverseMapがトリックだと思ったが、私はそれを間違って使っているか、それが私が理解することをしない。それは十分に文書化されていないようです。明確にするために

public class LargeClass { 
    // 30+ properties here 
} 

public class TinyClass { 
    // 6 properties here that map perfectly to LargeClass 
    // 4-8 properties that do not map to LargeClass, by design 
} 

CreateMap<TinyClass, LargeClass>(); // Will not validate, 24+ unmapped properties on Destination :(

ありがとうございました!

答えて

1

ReverseMapは、CreateMapコールからマップを元に戻す場合に使用します。

あなたはに対して検証するメンバーリストに渡す必要がありますように聞こえる:

CreateMap<TinyClass, LargeClass>(MemberList.Source); 

これは、ソース・メンバーに対して検証します。

さらに詳しいドキュメントが必要な場合は、wikiをチェックしてください。

+0

ありがとうございます。私は今どこにドキュメントがあるのか​​を見ています。実際に何時間も解決策を探していましたが、私が必要としていたものを見落としました。私は本当にAutoMapperを愛していますので、ReverseMapが事実上文書化されていないと言うと、それは何となく大したものではありません.Wikiの2つのコメントは、IMOでは、使用方法を説明しています。 – pbarranis

+1

私はそれがもう少し成長すると思っています。私たちは、次のリリースで拡張された逆マッピングを見ています。今日、私はそれが人々が実際にそれを望んでいるか期待しているとは思えません。 –