我有以下数据:
PK OrderNumber USERDEFFIELD
1 0001 10
2 0001 25
3 0002 20
4 0002 22
5 0002 NULL
6 0003 ABC123
数据库中的UserDefField列为VARCHAR类型。使用LINQ,如何获得每个订单的SUM(UserDefField)? NULL和非数字的UserDefField值将被视为零。我想要得到的结果是:
OrderNumber TotalQty
0001 35
0002 42
0003 0
如果UserDefField是严格可为空的数字字段,我知道我会在foreach循环中执行此操作:
TotalQtyForThisOrder = orders.Sum(w => w.UserDefField ?? 0 );
但是对于字符串字段,应该怎么做?非常感谢你的帮助。
最佳答案
TotalQtyForThisOrder = orders.Sum( w = > {
int result;
Int32.TryParse(w.UserDefField, out result);
return result;
});