Automapper-映射到嵌套对象-Aftermap不起作用

时间:2018-10-17 01:13:49

标签: .net automapper

映射到嵌套对象时找不到找不到的片段。

我有这样的目标对象:

public class OfferTimeHorizon: IEntityTimeHorzion
{
   public int Id { get; set; }

   public int OfferId { get; set; }
   public LessonOffer Offer { get; set; }

   public int TimeHorizonId { get; set; }
   public TimeHorizon TimeHorizon { get; set; }
}

这样的源对象:

public class TimeHorizonVM
{
   public int? Id { get; set; }
   public DateTime? DatetimeFrom { get; set; }
   public DateTime? DatetimeTo { get; set; }
}

自动映射器配置如下:

CreateMap<OfferTimeHorizon, TimeHorizonVM>()
    .AfterMap((src, dest) => Mapper.Map(src.TimeHorizon, dest))
    .ReverseMap()
    .ForMember(dest => dest.Id, opt => opt.Ignore())

    .ForMember(dest => dest.TimeHorizonId, opt => opt.MapFrom(src => src.Id))
    .AfterMap((src, dest ) => Mapper.Map(src, dest.TimeHorizon));

CreateMap<TimeHorizon, TimeHorizonVM>().ReverseMap();

对于正向=> OfferTimeHorizo​​n => TimeHorizo​​nVM,对象已正确映射。

但对于相反的方向=> TimeHorizo​​nVM => OfferTimeHorizo​​n,仅映射TimeHorizo​​nId。 TimeHorzion属性始终为null。

我在这里想念什么?

0 个答案:

没有答案