我正在尝试累积数据,我可以将其用作另一个数据库之间的引用,但是当我尝试收集行内的数据并将其存储在数组中时,我收到此错误:
CS0122:由于其保护级别,'System.Nullable.value'无法访问
我目前的代码是:
short pay_termsId = 0;
var tbl_sales_del = (from c in db.tblacc_sales_tran_del
where c.TransactionNo == tranNo select c)
.FirstOrDefault();
if (tbl_sales_del != null
&& !string.IsNullOrEmpty(tbl_sales_del.Vatdiscount.ToString()))
{
pay_termsId = tbl_sales_del.PaymentTermsID.value;
}
我已尝试var
pay_termsId
,但我收到同样的错误。任何人都可以参考我的任何可能有用的尝试来解决这个问题吗?非常感谢。
答案 0 :(得分:2)
您需要查看类定义。您可能需要将PaymentTermsID
的成员保护级别更改为public
此外,如果您获得null
值,则需要执行类似
pay_termsId = tbl_sales_del.PaymentTermsID.value ?? 0;
或者制作pay_termsId
short?
答案 1 :(得分:2)
你有一个错字:它是.Value(大写)
另外,你可以这样做
PaymentTermsID??0
检查id是否为null然后取0