【问题标题】:AutoMapping between the Same Enum C#同一枚举 C# 之间的自动映射
【发布时间】:2015-03-19 07:34:44
【问题描述】:

我有这个映射枚举类型的自动映射器,

Mapper.CreateMap<SASEMProfileVm, SASEMMembersDto>()
      .ForMember(dest => dest.ProfessionalHistoryDto.CarryingTime, 
                  opt => opt.MapFrom(src => src.ProfessionalHistoryCarryingTime))

CarryingTime 属于 TimePeriod 类型,ProfessionalHistoryCarryingTime 也属于 TimePeriod 类型

当我运行它时,它给了我这个错误

表达式'dest => 转换(dest.ProfessionalHistoryDto.CarryingTime)' 必须解析为顶级成员,而不是任何子对象的 特性。在子类型或 AfterMap 上使用自定义解析器 选项。参数名称:lambdaExpression

我应该怎么解决?

【问题讨论】:

    标签: c# enums automapper automapping


    【解决方案1】:

    Automapper 无法为多级对象定义映射。你可以使用.AfterMap

    Mapper.CreateMap<SASEMProfileVm, SASEMMembersDto>()
          .AfterMap((s, d) => 
              d.ProfessionalHistoryDto.CarryingTime = s.ProfessionalHistoryCarryingTime);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-23
      相关资源
      最近更新 更多