这是转换为LINQ to SQL(Lambda please)
的语句SELECT [Date],SUM(count)[Counted], SUM(时间)[时间] FROM dbo.TableName GROUP BY [日期]
这是没有group by和sum的原始数据
Date Counted Time
2011-09-07 00:00:00.000 34 31
2011-09-07 00:00:00.000 6 3
2011-09-07 00:00:00.000 7 3
2011-09-07 00:00:00.000 6 2
2011-09-07 00:00:00.000 7 2
2011-09-07 00:00:00.000 19 4
2011-09-07 00:00:00.000 13 4
2011-09-07 00:00:00.000 11 4
2011-09-07 00:00:00.000 14 3
2011-09-07 00:00:00.000 0.75 3
这些是分组依据和总和后的结果
Date Counted Time
2011-09-07 00:00:00.000 117.75 59
这就是我到目前为止所做的事情,但是当我做这个小组和总结时我很困惑。很显然,我的语法已经过时了。
var q = context.TableName.Where(...)
.GroupBy(x => new { x.Date})
.Sum(x => x.Counted, x.Time????)
.Select(x => x.Date, x.Counted, x.Time;
答案 0 :(得分:6)
var q = context.TableName
.GroupBy(x => x.Date)
.Select(g => new {
Date = g.Key,
Counted = g.Sum(x => x.Counted),
Time = g.Sum(x => x.Time)
});
答案 1 :(得分:0)
使用Sum()扩展方法怎么样:
var query = table.AsEnumerable().Select(s => s.Field<int>("counted")).Sum();