如何让 AutoMapper 从源头中保留 null?
new MapperConfiguration(cfg => cfg.CreateMap<MyModel, MyModel>()
.ForMember(m => m.prop1, opt => opt.AllowNull())
.ForMember(m => m.prop1, opt => opt.NullSubstitute(null))
.ForMember(m => m.prop1, opt => opt.MapFrom(s => s.prop1))
).CreateMapper();
prop1 可以为空,例如字符串[]
我总是得到类型的默认值。
最佳答案
默认情况下不允许
Null
目标值和 null
集合。您可以在配置中设置它:
configuration.AllowNullCollections = true;
configuration.AllowNullDestinationValues = true;
您也可以通过 AfterMap
配置强制执行此操作:
new MapperConfiguration(cfg => cfg.CreateMap<MyModel, MyModel>()
.AfterMap( (s,d) => d.prop1 = s.prop1 == null ? null : d.prop1 );
关于c# - 在映射中保留 null - 不要为类型创建默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55688812/