【发布时间】:2018-07-31 06:28:09
【问题描述】:
我正在查询具有以下内容的数据库
表:时间条目
- 字段 1:项目名称
- field2:阶段
- 字段 3:工作时间
我要做的是按 ProjectName 和 Phase 分组,然后 sum() 每个 TimeWorked。
因此,如果我在表格中列出以下内容: 项目名称、阶段、工时
- 项目1--- 1 --- 3.5
- 项目1 --- 1 --- 2
- 项目2 --- 1 --- 1
我的查询将返回:
- 项目1---1---5.5
- 项目2---1---1
目前这是我所拥有的:
var query3 = (from timeEntry in context.TimeEntries
select new
{
ProjectName = timeEntry.ProjectName,
Phase = timeEntry.Phase,
LoggedHours = context.TimeEntries.Sum(x => x.TimeWorked)
});
不确定我是否走在正确的轨道上,有人可以帮助我吗?
以下是数据库表及其数据类型的图片: TimeEntry Table, Project Table
【问题讨论】:
-
查看LINQ GroupBy Sum and Count上的第一个答案并适应您的需求
-
这看起来奇怪地类似于几分钟前问的this question。有足够的差异,我可以想象它。但两者都涉及添加一组条目的总工作时间,并且都指定使用 LINQ。
-
这里的答案也可能对 groupby 部分有所帮助。我看到您正在尝试按 2 个字段分组。 stackoverflow.com/questions/847066/group-by-multiple-columns.
标签: c# sql database linq select