Вернуть несколько агрегированных столбцов в LINQ

Я хотел бы перевести следующий 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) }

, но получаю ошибку «Ставки не содержат определения для «Сумма» и метод расширения «Сумма», принимающий первый аргумент типа «Ставки», не найдены.

Как я могу сделать это в LINQ?

Спасибо

ЗАКЛЮЧИТЕЛЬНО:

Окончательный ответ был:

var ctx = _dataContext.Bids;

var itemsBid = (from b in _dataContext.Bids
               select new { TotalBidVal = ctx.Sum(p => p.Amount), TotalBidNum = ctx.Count() }).First();
9
задан BKahuna 1 September 2011 в 00:59
поделиться