无法将空值赋给双精度值? AutoMapper 中的属性

问题描述 投票:0回答:1

我正在使用 AutoMapper,当我尝试在三元运算符中分配 null 时,一行会导致错误,如下所示:

.ForMember(dest => dest.VatCategoryTaxAmount, 
           opt => opt.MapFrom(src => src.TaxSubtotal != null && 
                                     src.TaxSubtotal.TaxCategory != null 
                                     ? double.Parse(src.TaxSubtotal.TaxCategory.Percent) 
                                     : null));

错误:

无法将匿名方法块转换为类型“type”,因为它不是委托类型

当我使用

0
而不是
null
时,它就可以工作了。

我很困惑,因为目标属性的类型是

double?
。我想为其分配一个空值。

我怎样才能做到这一点?

c# automapper
1个回答
0
投票

问题是你的条件赋值不返回相同的类型。

src.TaxSubtotal.TaxCategory != null ? double.Parse(src.TaxSubtotal.TaxCategory.Percent) : null

如果为 true,则返回

double
;如果为 false,则返回
null
。尝试将真正的赋值转换为可空值。

© www.soinside.com 2019 - 2024. All rights reserved.