Automapper: complex if else statement in ForMember

In recent versions of AutoMapper, ResolveUsing was removed. Instead, use a new overload of MapFrom:

void MapFrom<TResult>(Func<TSource, TDestination, TResult> mappingFunction);

Just adding another lambda/function parameter will dispatch to this new overload:

        CreateMap<TSource, TDest>()
                .ForMember(dest => dest.SomeDestProp, opt => opt.MapFrom((src, dest) =>
                {
                    TSomeDestProp destinationValue;

                    // mapping logic goes here

                    return destinationValue;
                }));

Leave a Comment