簡體   English   中英

C# 自動映射器嵌套 object 條件 map

[英]C# automapper nested object conditional map

我正在使用帶有最新自動映射器版本的.Net Core,並且我對嵌套對象有疑問。

我有一個視圖 model 如下所示(這是我無法更改的第 3 方):

public class MyTempA
{ 
    string ShapeName;
    object ShapeDetails;
    //....some other props
}

我有下面的數據庫類和視圖模型

  1. Square(數據庫實體)
  2. 方視圖模型
  3. 金字塔(數據庫實體)
  4. 金字塔視圖模型
  5. 圓柱體(數據庫實體)
  6. 圓柱視圖模型

我為上述數據庫實體提供了單獨的映射器來查看模型。

我的問題:MyTempA 中的 ShapeDetails object 可以是任何基於 ShapeName 的視圖模型。 我怎樣才能使用 Automapper 的 map?

如果 ShapeName 是 Square,ShapeDetails 應該是 SquareViewModel(從 Square db 類映射)。

謝謝

您可以使用兩個選項:

第一個是使用 AutoMapper 提供的映射 inheritance 功能,如果您的類具有基本 class。

https://docs.automapper.org/en/stable/Mapping-inheritance.html

作為第二種選擇,您可以編寫自定義值解析器:

https://docs.automapper.org/en/stable/Custom-value-resolvers.html

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM