You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在AutoMapper中覆盖单个属性的映射配置?

解决AutoMapper属性名变更后的映射问题

当然有超简便的方法!AutoMapper专门提供了ForMember方法来单独覆盖特定属性的映射规则,完全不用重新配置所有属性,其他名字匹配的属性依然会自动映射。

你只需要在原有的CreateMap调用后面链式调用ForMember,明确指定目标属性和对应的源属性即可:

config.CreateMap<GetUsers_Result, Core.Models.User>()
    // 单独配置UserId的映射来源为UserExtensionId
    .ForMember(dest => dest.UserId, opt => opt.MapFrom(src => src.UserExtensionId));

简单解释下这段代码:

  • dest => dest.UserId:指定目标对象(Core.Models.User)中需要自定义映射的属性
  • opt => opt.MapFrom(src => src.UserExtensionId):告诉AutoMapper,这个目标属性的值要从源对象(GetUsers_Result)的UserExtensionId属性获取

这样修改后,除了UserId的映射规则被覆盖,其他属性只要名字和原来一致,AutoMapper还是会按照默认的约定进行映射,完美保留你原来的配置逻辑~

内容的提问来源于stack exchange,提问作者user9393635

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:08:27