C# AutoMapper Conditional Mapping based upon target value

前端 未结 2 1326
醉酒成梦
醉酒成梦 2021-01-11 12:45

Please can any one advise how to use conditional mapping in AutoMapper to map a value in the TARGET object from a SOURCE object based upon an existing TARGET property value?

2条回答
  •  盖世英雄少女心
    2021-01-11 13:14

    Try this:

    Mapper.CreateMap()
    .ForMember(
            destination => destination.Nickname,
            option => 
            {
                option.Condition(rc => 
                {
                    var profileViewModel = (ProfileViewModel)rc.InstanceCache.First().Value;
                    return profileViewModel.NicknameIsVisible;
                });
    
                option.MapFrom(source => source.Nickname);
            }
    );
    

提交回复
热议问题