对于映射中特定类型的每个成员,我想使用我的特定自定义值解析器。
我现在的做法是为每个需要它的成员定义这个自定义值解析器。这是当前代码:
我只想为特定地图指定这个,但是对于我所有的谷歌搜索和搜索,我都找不到解决方案。有任何想法吗?注意:它不是所有映射的全局,仅适用于特定的映射!
这是当前代码:
Mapper.CreateMap<csp_CheckSLAForPeriodByHour_Result, CheckSlaItem>()
// make doubles into 0 instead of null
.ForMember(p => p.Avg_ms, opt => opt.ResolveUsing<DoubleValueOrZeroResolver>().FromMember(p => p.avg_ms))
.ForMember(p => p.Mdn_ms, opt => opt.ResolveUsing<DoubleValueOrZeroResolver>().FromMember(p => p.mdn_ms))
.ForMember(p => p.Sla_i_wefu, opt => opt.ResolveUsing<DoubleValueOrZeroResolver>().FromMember(p => p.sla_i_wefu))
.ForMember(p => p.Sla_iw_efu, opt => opt.ResolveUsing<DoubleValueOrZeroResolver>().FromMember(p => p.sla_iw_efu))
.ForMember(p => p.Std_ms, opt => opt.ResolveUsing<DoubleValueOrZeroResolver>().FromMember(p => p.std_ms))
// make ints into 0 instead of null
.ForMember(p => p.Min_ms, opt => opt.ResolveUsing<IntValueOrZeroResolver>().FromMember(p => p.min_ms))
.ForMember(p => p.Max_ms, opt => opt.ResolveUsing<IntValueOrZeroResolver>().FromMember(p => p.max_ms))
;
我想要一些简单的东西:
Mapper.CreateMap<csp_CheckSLAForPeriodByHour_Result, CheckSlaItem>()
.ForAllMembers().OfType(double?).ResolveUsing<DoubleValueOrZeroResolver>()
将不胜感激任何解决方案!
Brgds 里卡德·罗宾