当前位置:  开发笔记 > 数据库 > 正文

集合中的项目总和

如何解决《集合中的项目总和》经验,为你挑选了1个好方法。

使用LINQ to SQL,我有一个带有OrderDetails集合的Order类.订单明细有一个名为LineTotal的属性,它获得Qnty x ItemPrice.

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

我想将订单总数添加为我的Order类的属性.我想我可以遍历集合并计算每个Order.OrderDetail的总和,但我猜有更好的方法.



1> Espo..:

您可以执行LINQ to Objects并使用LINQ来计算总数:

decimal sumLineTotal = (from od in orderdetailscollection
select od.LineTotal).Sum();

你也可以使用lambda表达式来做这件事,这有点"干净".

decimal sumLineTotal = orderdetailscollection.Sum(od => od.LineTotal);

如果您愿意,可以将此连接到您的Order-class,如果您需要:

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

推荐阅读
周扒pi
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有