Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在同一枚举C之间自动映射#_C#_Enums_Automapper_Automapping - Fatal编程技术网

C# 在同一枚举C之间自动映射#

C# 在同一枚举C之间自动映射#,c#,enums,automapper,automapping,C#,Enums,Automapper,Automapping,我有一个映射枚举类型的自动映射器 Mapper.CreateMap<SASEMProfileVm, SASEMMembersDto>() .ForMember(dest => dest.ProfessionalHistoryDto.CarryingTime, opt => opt.MapFrom(src => src.ProfessionalHistoryCarryingTime)) Mapper.CreateMa

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

Mapper.CreateMap<SASEMProfileVm, SASEMMembersDto>()
      .ForMember(dest => dest.ProfessionalHistoryDto.CarryingTime, 
                  opt => opt.MapFrom(src => src.ProfessionalHistoryCarryingTime))
Mapper.CreateMap()
.FormMember(目标=>dest.ProfessionalHistoryDto.CarryingTime,
opt=>opt.MapFrom(src=>src.professionalhistorycarrytime))
CarryingTime是TimePeriod类型,而Professional History CarryingTime也是TimePeriod类型

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

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


我应该怎么做才能解决这个问题?

Automapper无法为多级对象定义映射。你可以使用。后地图

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