ホームページ > バックエンド開発 > C++ > AutoMapper でマップされていないプロパティを無視するにはどうすればよいですか?

AutoMapper でマップされていないプロパティを無視するにはどうすればよいですか?

Barbara Streisand
リリース: 2025-01-03 18:39:41
オリジナル
468 人が閲覧しました

How to Ignore Unmapped Properties in AutoMapper?

オートマッパーによるマップされていないプロパティのマッピングの無視

オートマッパーを使用して 2 つのクラス間でマッピングする場合、1 つ以上のプロパティがソース クラスが宛先クラスに存在しません。これにより、マッピング プロセス中に例外が発生する可能性があります。

次の例を考えてみましょう:

class OrderModel { public string ProductName; }
class Orders { }

CreateMap<OrderModel, Orders>();
ログイン後にコピー

この場合、OrderModel を Orders クラスにマップしようとすると、次のことを示す例外が発生します。 OrderModel のプロパティ ProductName はマップされていません。この問題を解決し、オートマッパーがマップされていないプロパティのマップを試行しないようにするには、ForMember メソッドを Ignore と組み合わせて使用​​します。

CreateMap<OrderModel, Orders>()
    .ForMember(x => x.ProductName, opt => opt.Ignore());
ログイン後にコピー

オプションとして Ignore を指定すると、Automapper は ProductName プロパティのマッピングをスキップします。 。これにより、例外が発生することなくマッピング プロセスを続行できるようになります。

更新: Ignore の代わりに DoNotValidate

AutoMapper 8.0 では、Ignore オプションが DoNotValidate に置き換えられました。したがって、上記のコード スニペットは次のように更新する必要があります:

CreateMap<OrderModel, Orders>()
    .ForMember(x => x.ProductName, opt => opt.DoNotValidate());
ログイン後にコピー

以上がAutoMapper でマップされていないプロパティを無視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート