基于EF组和求和方法的查询

问题描述

| 我有一个平面表(很抱歉,但是这是数据的输入方式),并且正在尝试编写基于方法的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; }
}
    

解决方法

        找不到任何示例吗?真? 好吧,这应该工作。通常,分组依据是多个表,但是由于它只是一个表,因此更为简单:
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