[英]Is it possible to automatically map all properties except a few complicated ones with 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一樣是一個集合。
謝謝。
您可以在創建從UserRules
到UserRulesModel
的映射時進行UserRulesModel
:
CreateMap<UserRules, UserRulesModel>()
.ForMember(dest => dest.Temp, opt => opt.Ignore());
UPDATE
假設UserRules
是UserRuleItem
對象的集合,而UserRulesModel
是UserRuleModelItem
對象的集合。
如果在一個屬性UserRuleModelItem
是不存在的UserRuleItem
,您可以配置AutoMapper使用我原本張貼的語法忽略該屬性:
CreateMap<UserRuleItem, UserRuleModelItem>()
.ForMember(dest => dest.Temp, opt => opt.Ignore());
dest
的類型將是您要映射到的對象的類型,在這種情況下為UserRuleModelItem
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.