LINQ to SQL十进制值的总和

时间:2009-12-21 22:15:36

标签: linq-to-sql decimal sum

我无法弄清楚如何对十进制值进行简单求和。

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

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

不是Sum是一种扩展方法吗?我错过了什么?

鲍勃

2 个答案:

答案 0 :(得分:4)

试试这个:

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>

答案 1 :(得分:4)

Sum是IEnumerable<decimal>(或int或其他)的扩展方法。 t.Hours是十进制值(我假设),因此无法求和。

如果您想要小时数,请写下times.Sum(t => t.Hours)