public class Person
{
   Name { get; set; }
   IEnumerable<Address> Addresses { get; set; }
}

public class PersonModel
{
   Name { get; set; }
   IEnumerable<AddressModel> Addresses { get; set; }
}

如果我像这样将Person映射到PersonModel:
Mapper.DynamicMap<Person, PersonModel>(person);

如果Addresses上的Person属性为null,则将它们映射为PersonModel上的空Enumerable而不是null。

如何使PersonModel具有空Addresses而不是空的Enumerable

最佳答案

因此,使用Automapper可能有几种方法可以完成此任务,而这只是其中一种:

Mapper.CreateMap<Person, PersonMap>()
   .AfterMap( (src, dest) => dest.Addresses = dest.Addresses?.Any() ? dest.Addresses : null );

这段代码使用新的C#?.运算符来实现null安全性,因此,如果您无法在代码中使用该功能,则可能需要删除它并检查是否为null。

关于c# - Automapper返回一个空集合,我想要一个空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35293356/

10-13 06:20