【问题标题】:Linq Sum for Multiple Joins多个连接的 Linq Sum
【发布时间】:2010-02-08 10:58:10
【问题描述】:

有人可以帮我解决以下 Linq 语句吗?我正在尝试通过 Linq 加入 4 个表,按最后一个表分组并对第一个表的属性求和。

var payments = (
                from payment in db.Payments
                join payees in db.cmsMembers on payment.PayeeID equals payees.nodeId
                join payeeGroups in db.cmsMember2MemberGroups on payees.nodeId equals payeeGroups.Member
                join groups in db.umbracoNodes on payeeGroups.MemberGroup equals groups.id
                group groups by new {groups.text, payment} into groupedPayments
                select new
                {
                    Group = groupedPayments.Key.text,
                    Count = groupedPayments.Count(),
                    Amount = groupedPayments.Sum(?)
                }
            ).ToList();

我遇到的问题是在 groupedPayments.Sum(..) 调用中我只能访问“组”对象。这对于 Group name 和 count 方面很好,但 SUM 必须在 payment.Amount 属性上执行。

【问题讨论】:

  • 嘿,groupedPayments.Sum(i => i.payment) 不起作用?

标签: linq join sum


【解决方案1】:

我已经设法解决了我的问题。我没有意识到组声明中的对象会成为结果组项中的实际对象。通过将原始语句更改为以下内容:

group payment by groups into groupedPayments

似乎 select 语句中的每个 groupedPayments.Key 实例现在都对应于我需要的付款行。

【讨论】:

    猜你喜欢
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    相关资源
    最近更新 更多