我有一个工作登记表,该表没有任何记录。
这是我的LINQ代码:
Dim QRecordCount = (From LC In CntxtJobDetails.JobRegistrations _
Where LC.JobCode <> 0 _
Select LC.JobCode).Max() + 1
当我执行上面的代码时,它给出了以下错误:
无法将null值分配给System.Decimal类型的成员,该类型是不可为空的值类型
请告诉我如何解决这个问题,我更喜欢VB.NET代码
答案 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