12.AutoMapper 之Null替换(NullSubsti

2019-01-08  本文已影响16人  做人生的CEO

Null 替换(Null Substitution)

Null 替换允许当源类型成员在成员链任何位置为Null时给目标成员提供一个备用的值。这意味着目标成员不再映射为Null而是你提供的备用值。

var config = new MapperConfiguration(cfg => cfg.CreateMap<Source, Dest>()
    .ForMember(destination => destination.Value, opt => opt.NullSubstitute("Other Value")));

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

dest.Value.ShouldEqual("Other Value");

source.Value = "Not null";

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

dest.Value.ShouldEqual("Not null");

在目标类型之后任何映射/转换都是以源成员类型来进行的。

上一篇 下一篇

猜你喜欢

热点阅读