Подтвердить что ты не робот

Обработка "Последовательность не имеет элементов" Исключение

Я обновляю количество в своей корзине, но он бросает в Sequence исключение элементов.

И я не знаю, что это значит. Сначала я подумал, что, возможно, где-то было передано нулевое значение, но это не так, поскольку я проверил это:

Последовательность не содержит элементов Описание: Необработанное исключение произошел во время выполнения текущего веб-запроса. пожалуйста просмотрите трассировку стека для получения дополнительной информации об ошибке и он возник из кода.

Сведения об исключении: System.InvalidOperationException: Последовательность не содержит элементов

Ошибка источника:

Строка 35: var uid = WebSecurity.CurrentUserId; Строка 36: var newqty = Request.Form [ "Quantity" ]; Строка 37:
OModel.Cart c = (из элемента в базе данных. Карточка Line 38:
где item.UserId == uid && & item.PartNumber == pnumber && & item.OrderId == oid строка 39: выберите элемент).First();

Любые идеи, что может быть причиной этого?

4b9b3361

Ответ 1

First() вызывает это, если ваш выбор возвращает 0 строк. Вам либо нужно поймать это исключение, либо использовать FirstOrDefault(), который вернет null в случае отсутствия элементов.

Ответ 2

Вы используете метод linq First(), который согласно документации выдает InvalidOperationException, если вы вызываете его в пустой коллекции.

Если вы ожидаете, что результат вашего запроса будет пустым иногда, вы, скорее всего, захотите использовать FirstOrDefault(), который вернет null, если коллекция пуста, вместо того, чтобы выбрасывать исключение.

Ответ 3

Вместо .First() измените его на .FirstOrDefault()

Ответ 4

Значение null, вам нужно проверить, почему...  (в дополнение к реализации предлагаемых здесь решений)

Проверьте аппаратные соединения.