首頁 > 後端開發 > C++ > 如何忽略 AutoMapper 中未對應的屬性?

如何忽略 AutoMapper 中未對應的屬性?

Barbara Streisand
發布: 2025-01-03 18:39:41
原創
435 人瀏覽過

How to Ignore Unmapped Properties in AutoMapper?

使用Automapper 忽略未映射屬性的映射

使用Automapper 在兩個類別之間進行映射時,可能會遇到以下情況:其中一個或多個屬性來源類別不存在於目標類別中。這可能會在映射過程中導致異常。

考慮以下範例:

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

CreateMap<OrderModel, Orders>();
登入後複製

在這種情況下,嘗試將 OrderModel 對應到 Orders 類別會導致異常,表示OrderModel 上的 ProductName 屬性未對應。若要解決此問題並防止 Automapper 嘗試對應未對應的屬性,您可以將 ForMember 方法與 Ignore 結合使用。

CreateMap<OrderModel, Orders>()
    .ForMember(x => x.ProductName, opt => opt.Ignore());
登入後複製

透過指定 Ignore 作為選項,Automapper 將跳過 ProductName 屬性的對應。這允許映射過程繼續進行而不會遇到任何異常。

更新:DoNotValidate 而不是 Ignore

在 AutoMapper 8.0 中,Ignore 選項已替換為 DoNotValidate。因此,上面的程式碼片段應更新為:

CreateMap<OrderModel, Orders>()
    .ForMember(x => x.ProductName, opt => opt.DoNotValidate());
登入後複製

以上是如何忽略 AutoMapper 中未對應的屬性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板