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("非空");
假定替换值为源成员类型,并且之后会经过到目标类型的任何映射/转换过程。