簡體   English   中英

Automapper繼承的源和目標

[英]Automapper Inherited Source and Destination

我繼承了我的基礎“User”類來創建角色特定類型。

例如...

public class Business : User{
 public string BusinessName;
}

我為我的View Models做了類似的事情,從一個基本的“UserModel”開始,並繼承它以包含特定於角色的功能。

public class BusinessModel : UserModel{
 [Required()]
 public string BusinessName;
}

當我使用Automapper將更改映射到我的BusinessModel回到我的Business對象時,它不包括對繼承字段的任何更改。

//create map between model and business object
Mapper.CreateMap<BusinessModel, Business>();

//load the relevant business
var business = GetCurrentBusiness();

//map the values across
Mapper.Map<BusinessModel, Business>(model, business);

對“業務”中的任何字段的更改都存在。 但是,從User繼承的字段的任何更改都不會。

Automapper是否無法映射這樣的繼承類型? 或者我錯過了什么?

您需要為基本類型創建映射,然后包含繼承的類型。 在此處查看automapper文檔。

Mapper.CreateMap<UserModel, User>()
      .Include<BusinessModel, Business>();
Mapper.CreateMap<BusinessModel, Business>();

暫無
暫無

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

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