LinQ以对象形式对GroupBy(),按金额对Sum()对象

Dan*_*rik 4 .net linq linq-to-objects grouping

我有一个非常简单的案例,我开始使用foreach()解决,但后来我认为我可以使用Linq.

基本上我有IList包含PaymentTransaction对象,有2个属性DealerAmount.

我想GroupBy()通过DealerSum()通过Amount.

我尝试使用以下代码完成此操作,但不幸的是它不起作用:

var test = paymentTransactionDao.GetAll().GroupBy(x => x.Dealer).Sum(x => x.Amount);
Run Code Online (Sandbox Code Playgroud)

我到底错在了什么?

Guf*_*ffa 13

问题是你真正想要的结果有点不清楚,所以我假设你想要总结每组中的金额:

var test =
  paymentTransactionDao.GetAll()
  .GroupBy(x => x.Dealer)
  .Select(g => new { Dealer = g.Key, Sum = g.Sum(x => x.Amount) });
Run Code Online (Sandbox Code Playgroud)