我一直在查看其他主题以了解如何在linq中执行GroupBy操作。我正在遵循已经为其他人工作的确切语法,但是它不起作用。
以下是查询:
var results = from p in pending
group p by p.ContactID into g
let amount = g.Sum(s => s.Amount)
select new PaymentItemModel
{
ContactID = g.ContactID, // <--- Error here
Amount = amount
};
pending
是一个包含ContactID
和Amount
等列的List<T>
,但对于此查询,我只关心这两个列。问题是,在
select new
中,g.
无法给我返回原始列表pending
中的任何列。当我尝试时,会出现以下错误信息:
这是我想模拟的SQL语句:IGrouping
<int, LeadPurchases>
不包含ContactID的定义,也没有扩展方法blah blah blah...
SELECT
lp.PurchasedFromContactID,
SUM (lp.Amount)
FROM
LeadPurchases lp
GROUP BY
lp.PurchasedFromContactID
g.Key.ContactID
。 - RobContactID = g.Key
,因为你只是按一个值进行分组。 - Rob