ASP.NET:EF 5.X - 访问级别错误

时间:2016-02-18 12:31:38

标签: c# asp.net entity-framework

我正在尝试累积数据,我可以将其用作另一个数据库之间的引用,但是当我尝试收集行内的数据并将其存储在数组中时,我收到此错误:

  

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,但我收到同样的错误。任何人都可以参考我的任何可能有用的尝试来解决这个问题吗?非常感谢。

2 个答案:

答案 0 :(得分:2)

您需要查看类定义。您可能需要将PaymentTermsID的成员保护级别更改为public

此外,如果您获得null值,则需要执行类似

的操作
pay_termsId = tbl_sales_del.PaymentTermsID.value ?? 0;

或者制作pay_termsId

类型的short?

答案 1 :(得分:2)

你有一个错字:它是.Value(大写)

另外,你可以这样做

PaymentTermsID??0

检查id是否为null然后取0