0

sHow 我可以做这样的事情:

.ForMember(dest => dest.Ad, opt => opt.MapFrom(src => src.Ask_Id == null ? null : new Ask { Id = src.Ask_Id }))

我得到一个不受支持的映射错误。

谢谢。

4

1 回答 1

3

我不确定你的类对象是什么样子,预先假设你有下面这样的类,

class Ask
{
    public int Id { get; set; }
}

class DestinationDto
{
    public Ask Ad { get; set; }
}

class SourceDto
{
    public int? Ask_Id { get; set; }
}

如果是这样,那么使用下面的映射器。

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);
于 2013-03-14T19:36:41.710 回答