我试图通过分组得到一些值的总和而且我被卡住了。这是我桌子的样本结构:
我想得到的是:
用户名,项目名称,项目用户的总工作时间,按用户名和项目名称分组。
技巧是,如果用户在项目中并且用户还没有任何工作时间,我需要显示零或空值。
示例结果应该是这样的:
Username Project Total Time
User1 Project1 15
User1 Project2 --
User2 Project1 10
我该如何做到这一点?
答案 0 :(得分:1)
一旦添加引用(导航属性)
,这个可怕的选择就会起作用db.Users.SelectMany(
x=> x.Projects
.Select(i=>
new
{
User = x.Name,
Project = i.Name,
WorkTime = (int?)i.UserWorkTimes.Sum(t=>t.WorkTime)
})
);
我的假设是
WorkTime属于int类型。
从Projects到ProjectUserWorkTimes的Nav.property称为 UserWorkTimes
从用户到项目的Nav.property称为项目