Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linq 集合中项目的总和_Linq_Sum - Fatal编程技术网

Linq 集合中项目的总和

Linq 集合中项目的总和,linq,sum,Linq,Sum,使用LINQtoSQL,我有一个Order类,其中包含OrderDetails的集合。订单详细信息有一个名为LineTotal的属性,该属性获取Qnty x ItemPrice 我知道如何对数据库执行新的LINQ查询以查找订单总计,但由于我已经从数据库中收集了OrderDetails,是否有一种简单的方法直接从集合中返回LineTotal的总和 我想将order total添加为order类的属性。我想我可以在集合中循环,并用a为每个Order.OrderDetail计算总和,但我猜有更好的方法

使用LINQtoSQL,我有一个Order类,其中包含OrderDetails的集合。订单详细信息有一个名为LineTotal的属性,该属性获取Qnty x ItemPrice

我知道如何对数据库执行新的LINQ查询以查找订单总计,但由于我已经从数据库中收集了OrderDetails,是否有一种简单的方法直接从集合中返回LineTotal的总和


我想将order total添加为order类的属性。我想我可以在集合中循环,并用a为每个Order.OrderDetail计算总和,但我猜有更好的方法。

您可以对对象执行LINQ,并使用LINQ计算总数:

decimal sumLineTotal = (from od in orderdetailscollection
select od.LineTotal).Sum();
您还可以使用lambda表达式来实现这一点,这有点“干净”

然后,如果需要,可以像这样将其连接到Order类:

Public Partial Class Order {
  ...
  Public Decimal LineTotal {
    get {
      return orderdetailscollection.Sum(od => od.LineTotal);
    }
  }
}
Public Partial Class Order {
  ...
  Public Decimal LineTotal {
    get {
      return orderdetailscollection.Sum(od => od.LineTotal);
    }
  }
}