如果不为空,则自动从十进制转换为bool
本文关键字:十进制 bool 转换 如果不 | 更新日期: 2023-09-27 18:02:52
我正在尝试从bool值转换为十进制I automapper。它工作得很好,如果我不检查空值,但我想检查空值,如果值为空,让值为空i目的地否则转换为十进制。下面是我绑定的代码,但是我得到了一个错误。
cfg.CreateMap<sourcemodel, destinatiomodel>()
.ForMember(dest => dest.WorkhoursPerWeek != null ?
Convert.ToDecimal(dest.WorkhoursPerWeek) : null,
opts => opts.MapFrom(src => src.cstu_WorkHoursPerWeek));
您的代码没有意义(主要是因为它无效)。如果您需要先检查源属性,我建议使用AfterMap()
cfg.CreateMap<sourcemodel, destinatiomodel>()
.AfterMap((src, dest) =>
{
dest = dest.WorkhoursPerWeek != null
? Convert.ToDecimal(dest.WorkhoursPerWeek)
: src.cstu_WorkHoursPerWeek
});
(或者这可能不起作用,如果不起作用,请使用BeforeMap()来映射before和Ignore()属性)