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/