我正在尝试将bool值转换为decimal i automapper。它工作正常,如果我不检查空值。但我想检查空值,如果值为null,让值为null我目的地转换为十进制.Below是我绑的颂但我得到一个错误
cfg.CreateMap<sourcemodel, destinatiomodel>()
.ForMember(dest => dest.WorkhoursPerWeek != null ?
Convert.ToDecimal(dest.WorkhoursPerWeek) : null,
opts => opts.MapFrom(src => src.cstu_WorkHoursPerWeek));
答案 0 :(得分:0)
你的代码没有意义(主要是因为它无效)。如果您需要先检查source属性,我建议您使用AfterMap()
cfg.CreateMap<sourcemodel, destinatiomodel>()
.AfterMap((src, dest) =>
{
dest = dest.WorkhoursPerWeek != null
? Convert.ToDecimal(dest.WorkhoursPerWeek)
: src.cstu_WorkHoursPerWeek
});
(或者这可能不起作用,如果没有,请使用BeforeMap()进行映射,然后使用Ignore()属性。