我可以做这样的事情:
.ForMember(dest => dest.Ad, opt => opt.MapFrom(src => src.Ask_Id == null ? null : new Ask { Id = src.Ask_Id }))
我收到了不受支持的映射错误。
感谢。
答案 0 :(得分:3)
我不确定你的类对象是什么样的,预先假设你有类似下面的类,
class Ask
{
public int Id { get; set; }
}
class DestinationDto
{
public Ask Ad { get; set; }
}
class SourceDto
{
public int? Ask_Id { get; set; }
}
如果是,请使用下面的mapper。
Mapper.CreateMap<SourceDto, DestinationDto>()
.ForMember(dest => dest.Ad, opt => opt.MapFrom(src => src.Ask_Id == null ? null : new Ask { Id = src.Ask_Id.Value }));
var source = new SourceDto { Ask_Id = 1}; // try with null
var destination = Mapper.Map<SourceDto, DestinationDto>(source);