EF Group和sum方法查询

时间:2011-06-13 22:18:34

标签: linq-to-entities group-by

我有一个平面表(抱歉,但这是数据的来源)并且我正在尝试编写基于方法的linq查询以返回用户列表的总步数。应该很简单,但我找到并尝试过的例子都不起作用。这是班级:

public class WellnessLog
{
    public int Id { get; set; }
    public string UserName { get; set; }
    public int Steps { get; set; }
    public datetime EnteredOn { get; set; }
    public datetime StartedOn { get; set; }
    public datetime EndOn { get; set; }
}

1 个答案:

答案 0 :(得分:0)

找不到任何例子?真的?

这应该有用。通常,group by在多个表上,但由于它只是一个,所以更容易:

var query = db.WellnessLogs
    .GroupBy(x => x.Username)
    .Select (x => new { Username = x.Username, Steps = x.Steps.Count() });

相当于以下T-SQL:

SELECT   Username, Count(Steps)
FROM     dbo.WellnessLogs
GROUP BY Username