我试图使用 LINQ 对将用于报告的数据进行排序。报告结构如下所示:
开发者名称
日期 | 小时 | 项目名称 | 周结束
日期 | 小时 | 项目名称 | 周结束
日期 | 小时 | 项目名称 | 周末结束
开发者名称
日期 | 小时 | 项目名称 | 周结束
日期 | 小时 | 项目名称 | 周末结束
开发者名称
日期 | 小时 | 项目名称 | 周结束
日期 | 小时 | 项目名称 | 周结束
日期 | 小时 | 项目名称 | 周末结束
我从 .dbml 文件中获取所有数据。对于这样的排序,我有这个 linq 查询:
DataClasses1DataContext context = new DataClasses1DataContext();
System.Data.Linq.ISingleResult<s_SummaryReportResult> res = context.s_timesheet_SummaryReport(startDate, endDate);
var orb = from c in res
group c by c.developer
into devgroup
select new
{
Dev = devgroup.Key,
devData = from o in res
select new {
o.Date,
o.Hours,
o.projectname,
o.week_ending
}};
IDictionary dic_orb = orb.ToDictionary(result => result.Dev.ToString(), result => result.devData);
foreach (KeyValuePair<string, object> item in dic_orb)
{
object brr = item.Value;
}
可悲的是,在 foreach 步骤中,我得到一个“InvalidCastException”。
关于我如何解决该 foreach 的任何线索,或者在某种意义上,如何更好地对 LINQ 查询进行分组?
提前致谢。