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