Automapper: complex if else statement in ForMember

前端 未结 2 1320
执念已碎
执念已碎 2020-12-17 10:50

Assuming the Date is a nullable DateTime:

Mapper.CreateMap()               
             .ForMember(d         


        
2条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-17 11:24

    Use ResolveUsing method:

    Mapper.CreateMap()               
             .ForMember(dest => dest.Date, o => o.ResolveUsing(Converter));
    
    private static object Converter(SomeViewModels value)
    {
        DateTime? finalDate = null;
        if (value.Date.HasDate == "N")
        {
            // so it should be null
        }
        else
        {                                   
            finalDate = DateTime.Parse(value.Date.ToString());
        }                               
        return finalDate;
    }
    

    Here is more information: AutoMapper: MapFrom vs. ResolveUsing

提交回复
热议问题