C# 自动映射-映射除目标中不存在的属性以外的所有属性

C# 自动映射-映射除目标中不存在的属性以外的所有属性,c#,automapper,automapper-3,C#,Automapper,Automapper 3,使用Automapper 3(升级不是一个选项),我想知道如何将实体(src)映射到源中不存在destination中的属性的destination 让我们调用目标中的某个未映射的“temp”或“calculation”属性。当然,映射时,AM会失败,因为在源中找不到目标中的属性 CreateMap<SystemConfiguration, SystemConfigurationModel>() .ForMember(dest => dest.U

使用Automapper 3(升级不是一个选项),我想知道如何将实体(src)映射到源中不存在destination中的属性的destination

让我们调用目标中的某个未映射的“temp”或“calculation”属性。当然,映射时,AM会失败,因为在源中找不到目标中的属性

CreateMap<SystemConfiguration, SystemConfigurationModel>()
                .ForMember(dest => dest.UserRulesModel, opt => opt.MapFrom(src => src.UserRules));
CreateMap()
.ForMember(dest=>dest.UserRules模型,opt=>opt.MapFrom(src=>src.UserRules));
在“UserRulesModel”中,我有这个临时属性。我希望在从实体(DB)映射到视图模型(UserRulesModel)时忽略它

更新:UserRulesModel是一个集合,UserRules也是


谢谢。

您可以在创建从
UserRules
UserRulesModel
的映射时配置:

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

dest
的类型将是您要映射到的对象的类型,在本例中为
UserRuleModelItem

我不太明白这将如何工作,因为我确实希望映射对象,但不映射1个属性。你是说在前一行之后加上这个吗?好的,这不太管用。dest没有“Temp”属性。它是具有属性(UserRulesModel)的右侧。UserRulesModel也是一个集合。
CreateMap<UserRuleItem, UserRuleModelItem>()
    .ForMember(dest => dest.Temp, opt => opt.Ignore());