Ответ 1
First()
вызывает это, если ваш выбор возвращает 0 строк. Вам либо нужно поймать это исключение, либо использовать FirstOrDefault()
, который вернет null в случае отсутствия элементов.
Я обновляю количество в своей корзине, но он бросает в 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();
Любые идеи, что может быть причиной этого?
First()
вызывает это, если ваш выбор возвращает 0 строк. Вам либо нужно поймать это исключение, либо использовать FirstOrDefault()
, который вернет null в случае отсутствия элементов.
Вы используете метод linq First(), который согласно документации выдает InvalidOperationException, если вы вызываете его в пустой коллекции.
Если вы ожидаете, что результат вашего запроса будет пустым иногда, вы, скорее всего, захотите использовать FirstOrDefault(), который вернет null, если коллекция пуста, вместо того, чтобы выбрасывать исключение.
Вместо .First()
измените его на .FirstOrDefault()
Значение null, вам нужно проверить, почему... (в дополнение к реализации предлагаемых здесь решений)
Проверьте аппаратные соединения.