Automapper を使用する場合、ソース オブジェクトと宛先オブジェクト間のマッピングから特定のプロパティを除外することが必要になる場合があります。これは、宛先オブジェクトに、ソースからのマッピングに適さない読み取り専用または計算されたプロパティが含まれている場合に発生する可能性があります。
そのようなシナリオの 1 つは、ソース オブジェクト (OrderModel など) にプロパティ (ProductName) がある場合です。それは宛先オブジェクト (例: Orders) には存在しません。次のマッピングを実行しようとすると、
Mapper.CreateMap<OrderModel, Orders>();
ProductName プロパティがマップされていないことを示す例外が発生します。
Automapper が ProductName プロパティをマップしようとしないようにするには、Ignore( ) メソッド:
CreateMap<OrderModel, Orders>().ForMember(x => x.ProductName, opt => opt.Ignore());
または、AutoMapper 8.0 以降のバージョンでは、 Ignore() メソッドは DoNotValidate() に置き換えられました:
CreateMap<OrderModel, Orders>().ForMember(x => x.ProductName, opt => opt.DoNotValidate());
Ignore() または DoNotValidate() オプションを指定すると、Automapper はマッピング プロセスから ProductName プロパティを除外し、例外を解決し、マッピングを正常に続行するには。
以上がAutoMapper マッピング中にプロパティを無視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。