LINQ to SQL сумма десятичных значений - PullRequest
0 голосов
/ 22 декабря 2009

Я не могу понять, как сделать простую сумму десятичных значений.

Table<StaffTime> times = ctx.GetTable<StaffTime>();

var query = from t in times
            select new 
            {
               t.Hours.Sum()
            }

Разве Sum не является методом расширения? Чего мне не хватает?

Bob

Ответы [ 2 ]

4 голосов
/ 22 декабря 2009

Sum - это метод расширения, превышающий IEnumerable<decimal> (или int или любой другой). t.Hours - десятичное значение single (я полагаю), поэтому его нельзя суммировать

Если вам нужна сумма часов, напишите times.Sum(t => t.Hours).

4 голосов
/ 22 декабря 2009

Попробуйте это:

var sum = (from t in times select t.Hours).Sum();

Это, конечно, предполагается, что t.Hours является одним из следующих типов:

Decimal
Double
Int32
Int64
Nullable<Decimal>
Nullable<Double>
Nullable<Int32>
Nullable<Int64>
Nullable<Single>

...