无法将null值分配给类型为System.Decimal的成员,该成员是非可空值类型

时间:2010-09-15 04:13:08

标签: vb.net linq-to-sql

我有一个工作登记表,该表没有任何记录。

这是我的LINQ代码:

Dim QRecordCount = (From LC In CntxtJobDetails.JobRegistrations _
                            Where LC.JobCode <> 0 _
                            Select LC.JobCode).Max() + 1

当我执行上面的代码时,它给出了以下错误:

  
    

无法将null值分配给System.Decimal类型的成员,该类型是不可为空的值类型

  

请告诉我如何解决这个问题,我更喜欢VB.NET代码

1 个答案:

答案 0 :(得分:2)

您需要确保它运行Max:

的可空过载
Dim QRecordCount = (From LC In CntxtJobDetails.JobRegistrations _
                            Where LC.JobCode <> 0 _
                            Select CType(LC.JobCode, Decimal?)).Max() + 1

有关详细信息,请参阅此链接: http://weblogs.asp.net/zeeshanhirani/archive/2008/07/15/applying-aggregates-to-empty-collections-causes-exception-in-linq-to-sql.aspx

这一个: Linq query with nullable sum