我正在更新购物车中的数量,但它正在抛出一个序列没有元素的例外。
我不知道这意味着什么。起初我以为可能在某处传递了空值,但事实并非如此,因为我已经检查过:
序列不包含元素描述:未处理的异常 在执行当前Web请求期间发生。请 查看堆栈跟踪以获取有关错误和位置的更多信息 它起源于代码。
异常详细信息:System.InvalidOperationException:Sequence 不包含任何元素
来源错误:
第35行:var uid = WebSecurity.CurrentUserId;第36行: var newqty = Request.Form [“Quantity”];第37行:
OModel.Cart c =(来自database.Carts第38行中的项目:
item.UserId == uid&& item.PartNumber == pnumber&& item.OrderId == oid第39行:选择项目。)。first();
任何可能导致此问题的想法?
答案 0 :(得分:79)
First()
会导致这种情况。您要么必须捕获该异常,要么使用FirstOrDefault()
,如果没有元素,则返回null。
答案 1 :(得分:12)
您正在使用linq的First()方法,如果您在空集合上调用它,则as per the documentation会抛出InvalidOperationException。
如果您希望查询结果有时为空,您可能希望使用FirstOrDefault(),如果集合为空,它将返回null,而不是抛出异常。
答案 2 :(得分:6)
而不是.First()
将其更改为.FirstOrDefault()
答案 3 :(得分:1)
该值为null,您必须检查原因... (除了这里提出的解决方案的实施)
检查硬件连接。
答案 4 :(得分:1)
处理'的部分答案'序列没有元素' VB 中的例外情况是测试空
If Not (myMap Is Nothing) Then
' execute code
End if
MyMap是查询的序列,返回空/ null。 FYI
答案 5 :(得分:0)
我遇到了同样的问题,我意识到我已经删除了文件夹中的默认图像 只需更新特定文件上缺少的媒体