2

宛先値が null の場合にのみ、ソース値をコピーしようとしています。次のマップを使用しています

 Mapper.CreateMap<BM.AudioSetting, BM.AudioSetting>()
        .ForMember(dest => dest.MSOffsetInherited, opt =>
                                                       {
                                                           opt.Condition(src => src.DestinationValue == null);
                                                           opt.MapFrom(src => src.MSOffset);
                                                       });

私の状態では、マッピングする前に宛先値が null であることを確認しています。問題は、コピー先の値に関係なく、常にコピーが行われていることです。

私はこれを間違っていますか?

ありがとうイサム

4

2 に答える 2

0

ソースと宛先のタイプが同じであることに気付きました。宛先値がnullの場合、基本的にオブジェクトのクローンを作成しようとしていますか?もしそうなら、この質問へのコメントによると、AutoMapperは適切な解決策ではないかもしれません:オブジェクトをオブジェクトにコピーします(Automapperを使用しますか?)

于 2012-11-03T02:13:53.157 に答える
0

あなたのコードは正常に動作するはずです。おそらく、src.DestinationValue が宛先オブジェクトのプロパティであることを期待しています。その場合、カスタム型コンバーターは、目的の動作を実現するのに役立ちます。

この投稿は、カスタム型コンバーターの作成に役立つはずです。

于 2012-10-17T19:37:03.220 に答える