美文网首页
12.AutoMapper 之Null替换(NullSubsti

12.AutoMapper 之Null替换(NullSubsti

作者: 做人生的CEO | 来源:发表于2019-01-08 17:32 被阅读16次

    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");
    

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

    相关文章

      网友评论

          本文标题:12.AutoMapper 之Null替换(NullSubsti

          本文链接:https://www.haomeiwen.com/subject/ggjbrqtx.html