2009-11-12 3 views
0

У меня есть основная таблица SQL (pKey INT, TransDate smallDateTime, Amount Float) Я просто хочу, чтобы эмулировать этот SQL в LINQНовичок LINQ синтаксиса вопрос

SELECT SUM(Amount) AS result 
FROM dbo.Basic 
WHERE TransDate >= @startDate 
AND TransDate <= @EndDate 

Я создал DBML LINQ для этого, и я могу получить основные результаты запроса для диапазона дат

Однако я не могу найти правильный синтаксис, чтобы получить SUM над DateRange, я попытался несколько вариаций на следующий, но либо они не компилировать, или результат они дают не могут быть преобразованы в двойной

BasicDataContext dContext = new BasicDataContext(); 
var lnq = from c in dContext.Basic 
     where c.TransDate >= startdate && 
      c.TransDate <= enddate 
     select new { total = c.Sum(Amount) }; 

double result = (double)lnq.total; 
+0

Еще один совет: при использовании LINQ, вы почти никогда не бросать ничего. – Kobi

+0

Большое спасибо Коби –

ответ

2

Это должно работать:

double result = (from c in dContext.Basic 
        where c.TransDate >= startdate && 
         c.TransDate <= enddate 
        select c.Amount).Sum(); 
Смежные вопросы