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