linq-to-sql – 在LINQ中返回多个聚合列
发布时间:2020-12-12 06:21:22 所属栏目:MsSql教程 来源:网络整理
导读:我想将以下SQL转换为LINQ: SELECT (Select count(BidID)) as TotalBidNum,(Select sum(Amount)) as TotalBidValFROM Bids 我试过这个: from b in _dataContext.Bidsselect new { TotalBidVal = b.Sum(p = p.Amount),TotalBidNum = b.Count(p = p.BidId) }
我想将以下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(); 解决方法你可以尝试一下.变量b是一个实体(对于每次迭代),而ctx是一个具有所需扩展方法的实体集.var ctx = _dataContext.Bids; var result = ctx.Select(x => new {TotalBidVal = ctx.Sum(p => p.Amount),TotalBidNum = ctx.Count(p => p.BidId)}).First(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |