且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

自动映射器多对多映射

更新时间:2022-05-29 23:14:19

使用您当前的代码,您正在尝试将GoodAndProviderEntity映射到ProviderDTO.

With your current code you're trying to map the GoodAndProviderEntity into ProviderDTO.

Mapper.CreateMap<GoodEntity, GoodDTO>()
  .ForMember(dto => dto.providers, opt => opt.MapFrom(x => x.GoodsAndProviders));

您要做的是将ProviderEntity映射到ProviderDTO中,因此您要做的就是从GoodsAndProviders中选择Providers作为列表:

What you want to do, is to map ProviderEntity into ProviderDTO, so all you have to do is select the Providers from GoodsAndProviders as a list:

    Mapper.CreateMap<GoodEntity, GoodDTO>()
      .ForMember(dto => dto.providers, opt => opt.MapFrom(x => x.GoodsAndProviders.Select(y => y.Providers).ToList()));