21

CodeplexのAutoMapperを使用しています。私にとって、宛先オブジェクトには「Field」で終わるすべてのプロパティがあります。つまり、cityFieldであり、ソースオブジェクトにはcityだけがあります。

以下のコードを使用して実現できますが、すべてのプロパティには「Field」という接尾辞が付いており、20個のプロパティがあります。

.ForMember(dest => dest.cityField, opt => opt.MapFrom(origin => origin.City));

マッピング時に「Field」という単語を無視して、.ForMember()を20回使用せずにマッピングできるようにする他の方法はありますか?

4

2 に答える 2

18

接尾辞の認識を試すことができます。

Mapper.Initialize(cfg => {
    cfg.RecognizePostfixes("Field");
    cfg.CreateMap<Source, Dest>();
});

プレフィックスの認識は、これが適用されるマップのセットである場合、プロファイルに対してローカルでも機能します。

于 2010-02-04T01:56:36.490 に答える
3

これを回避するには、独自のINamingConventionを実装する必要があると思います。

于 2010-02-02T17:34:42.113 に答える