题
使用 LINQ to SQL,我有一个包含 OrderDetails 集合的 Order 类。订单详细信息有一个名为 LineTotal 的属性,它获取 Qnty x ItemPrice。
我知道如何对数据库进行新的 LINQ 查询来查找订单总计,但由于我已经从数据库中获取了 OrderDetails 集合,是否有一种简单的方法可以直接从集合中返回 LineTotal 的总和?
我想将订单总数添加为我的 Order 类的属性。我想我可以循环遍历集合并使用每个 Order.OrderDetail 计算总和,但我猜有更好的方法。
解决方案
您可以执行 LINQ to Objects 并使用 LINQ 来计算总数:
decimal sumLineTotal = (from od in orderdetailscollection
select od.LineTotal).Sum();
您还可以使用 lambda 表达式来执行此操作,这有点“干净”。
decimal sumLineTotal = orderdetailscollection.Sum(od => od.LineTotal);
如果您愿意,您可以将其连接到您的 Order 类,如下所示:
Public Partial Class Order {
...
Public Decimal LineTotal {
get {
return orderdetailscollection.Sum(od => od.LineTotal);
}
}
}
不隶属于 StackOverflow