项目
版本

AutoMapper 空值替换

空值替换允许您为目标成员提供一个备用值,以防源头值在成员链中的任何位置为 null。这意味着它将不再从 null 映射,而是从您提供的值进行映射。

var config = new MapperConfiguration(cfg => cfg.CreateMap<Source, Dest>()
    .ForMember(dest => dest.Value, opt => opt.NullSubstitute("其他值")));

var source = new Source { Value = null };
var mapper = config.CreateMapper();
var dest = mapper.Map<Source, Dest>(source);

dest.Value.ShouldBe("其他值");

source.Value = "非空";

dest = mapper.Map<Source, Dest>(source);

dest.Value.ShouldBe("非空");

假定替换值为源成员类型,并且之后会经过到目标类型的任何映射/转换过程。

在本文档中