如果源值为零,automappewr 将空值映射到目标

automappewr map null value to destination if source value is zero

我正在从 dto 映射到视图模型。 dto 有一个双 属性,如果这个值为零,我想将它映射为 null(这会停止在 null 的情况下绘制点的基础设施图,因此不会显示任何内容)

我有这个,但它不起作用我需要它映射到 null

.ForMember(x => x.AveragePrice, opt => opt.ResolveUsing(src =>
            {
                if(src.AveragePrice == 0)
                {
                    //need null here
                   return double.NaN;
                }
                else
                {
                    return src.AveragePrice;
                }

            }));

您不需要解析器。你可以只使用 MapFrom.

还要确保您的 AveragePrice 属性 是视图模型中的 double? 类型。

.ForMember(x => x.AveragePrice, opt => opt.MapFrom(src => src.AveragePrice == 0 ? (double?)null : Math.Abs(src.AveragePrice)))