使用 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);
    }
  }
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top