在Automapper中,当源对象中的属性值为null时,目标对象的相应属性值也会被设置为null。但有时候,我们不想抛出空引用异常,而是希望忽略这些null值。这时可以通过在配置文件中使用NullSubstitute()方法来解决。
示例代码如下:
//定义源对象 class Source { public string name {get; set;} public int? age {get; set;} }
//定义目标对象 class Destination { public string name {get; set;} public int age {get; set;} }
//创建映射配置
var config = new MapperConfiguration(cfg => {
cfg.CreateMap
//执行映射
var source = new Source { name = "Tom", age = null };
var mapper = config.CreateMapper();
var destination = mapper.Map
Console.WriteLine(destination.age); //输出结果为0,而不是抛出空引用异常