首頁 >後端開發 >C++ >如何在 AutoMapper 映射期間忽略屬性?

如何在 AutoMapper 映射期間忽略屬性?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-27 09:46:11563瀏覽

How to Ignore Properties During AutoMapper Mappings?

忽略 Automapper 映射中的屬性

使用 Automapper 時,可能需要從來源物件和目標物件之間的對應中排除某些屬性。當目標物件包含不適合從來源對應的唯讀或計算屬性時,可能會發生這種情況。

其中一種情況是來源物件(例如 OrderModel)具有屬性 (ProductName)目標物件中不存在的內容(例如訂單)。嘗試使用以下命令執行映射:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn