我有以下 LINQ to SQL 查询:
var inTransitStocks = orderHistories.Where(oh => oh.Shipped_Qty > 0)
.Select(oh => oh.Shipped_Qty); //.ToList();
var inTransitStock = (int)inTransitStocks.Sum();
没有ToList
电话,我就得到了以下异常Sum()
:
不能将 null 值分配给 System.Double 类型的成员,这是不可为 null 的值类型。
如果我添加一个.ToList()
之前的总和(如评论中所示),我不会收到错误消息。
为什么我首先会收到错误消息?(Shipped_Qty
不为空,并且数据库中不存在该字段中的空数据)
为什么要添加ToList()
修复程序?
执行的 sql 查询如下(查询比上面更多):
SELECT [t0].[Shipped Qty]
FROM [dbo].[Order History] AS [t0]
WHERE ([t0].[Shipped Qty] > @p0) AND ([t0].[CUST_ID] = @p1) AND ([t0].[SHIP_TO_ID] = @p2) AND ([t0].[Item] = @p3) AND (([t0].[DT_LST_SHP] >= @p4) OR (UNICODE([t0].[LN_STA]) = @p5))
不返回任何结果。