簡體   English   中英

Automapper-映射除目標中不存在的屬性以外的所有屬性

[英]Automapper - map all properties except the one that does not exist in destination

使用Automapper 3(不能選擇升級),我想知道如何將實體(src)映射到目標,而目標中的屬性在源中不存在?

讓我們將目標中的屬性稱為一些非映射的“ temp”或“ calculation”屬性。 當然,在映射時,AM將失敗,因為在源中找不到目標中的屬性。

CreateMap<SystemConfiguration, SystemConfigurationModel>()
                .ForMember(dest => dest.UserRulesModel, opt => opt.MapFrom(src => src.UserRules));

在“ UserRulesModel”中,我具有此temp屬性。 我希望AM從實體(DB)映射到視圖模型(UserRulesModel)時忽略它

更新:UserRulesModel和UserRules一樣是一個集合。

謝謝。

您可以在創建從UserRulesUserRulesModel的映射時進行UserRulesModel

CreateMap<UserRules, UserRulesModel>()
    .ForMember(dest => dest.Temp, opt => opt.Ignore());

UPDATE

假設UserRulesUserRuleItem對象的集合,而UserRulesModelUserRuleModelItem對象的集合。

如果在一個屬性UserRuleModelItem是不存在的UserRuleItem ,您可以配置AutoMapper使用我原本張貼的語法忽略該屬性:

CreateMap<UserRuleItem, UserRuleModelItem>()
    .ForMember(dest => dest.Temp, opt => opt.Ignore());

dest的類型將是您要映射到的對象的類型,在這種情況下為UserRuleModelItem

暫無
暫無

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

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