Ben*_* E. 4 .net c# automapper
如何让 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();
Run Code Online (Sandbox Code Playgroud)
prop1 是可以为空的,例如string[]
我总是得到该类型的默认值。
Nullnull默认情况下不允许使用目标值和集合。您可以在配置上进行设置:
configuration.AllowNullCollections = true;
configuration.AllowNullDestinationValues = true;
Run Code Online (Sandbox Code Playgroud)
您还可以通过AfterMap配置强制执行此操作:
new MapperConfiguration(cfg => cfg.CreateMap<MyModel, MyModel>()
.AfterMap( (s,d) => d.prop1 = s.prop1 == null ? null : d.prop1 );
Run Code Online (Sandbox Code Playgroud)