SQL:
SELECT DeptId,avg(Marks) FROM StudentTb s
JOIN StudInDepartment d on s.StudentId = d.StudentId
GROUP BY DeptId
转换为Linq:
var deptRpts = from s in this.ObjectContext.StudentTb
join d in this.ObjectContext.StudInDepartment on s.StudentId equals d.StudentId
group s by d.DeptId into grp
select new {
DeptId = grp.Key,
AverageMarks = grp.Average(ed=>ed.Marks)
};
获得一个空的结果列表。
在调试模式下扩展结果集时。显示错误功能评估超时
需要帮助。
答案 0 :(得分:7)
查询工作得很好,至少在我的模拟中我只是扔在一起......它可能与数据库的结构有关...在我的模拟中我将studentID作为外国人StudInDepartment(ha!)表的关键,甚至这个简化的查询也能正常工作
var deptRpt2 = from d in ctx.StudInDepartment
group d by d.DeptId into grp
select new {
Dept = grp.Key,
AverageMarks = grp.Average(ed=>ed.StudentTb.Marks)
};
您收到的消息“功能评估超时”可能是Visual Studio debugger issue,无法帮助您,还有其他线程关闭了stackoverflow讨论它。