【发布时间】:2020-02-01 13:42:55
【问题描述】:
我想将以下 SQL 翻译成 LINQ:
SELECT
(Select count(BidID)) as TotalBidNum,
(Select sum(Amount)) as TotalBidVal
FROM Bids
我试过了:
from b in _dataContext.Bids
select new { TotalBidVal = b.Sum(p => p.Amount), TotalBidNum = b.Count(p => p.BidId) }
但出现错误“Bids 不包含“Sum”的定义,并且找不到接受“Bids”类型的第一个参数的扩展方法“Sum”。
如何在 LINQ 中做到这一点?
谢谢
结论:
最后的答案是:
var ctx = _dataContext.Bids;
var itemsBid = (from b in _dataContext.Bids
select new { TotalBidVal = ctx.Sum(p => p.Amount), TotalBidNum = ctx.Count() }).First();
【问题讨论】:
标签: linq-to-sql aggregate