Нулевое значение не может быть назначено члену с типом System.Decimal, который является необнуляемым типом значения - PullRequest
3 голосов
/ 15 сентября 2010

У меня есть таблица регистрации заданий, и в этой таблице нет записей.

Это мой код LINQ:

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

Когда я выполняю приведенный выше код, он дает мнеследующая ошибка:

Нулевое значение не может быть присвоено элементу с типом System.Decimal, который является необнуляемым типом значения

Пожалуйстаподскажите, как я могу решить эту проблему, Я предпочитаю VB.NET Code

1 Ответ

2 голосов
/ 15 сентября 2010

Вы должны убедиться, что он работает с перегрузкой NULL, равной 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запрос с нулевой суммой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...