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クエリをより適切にグループ化する方法の手がかりはありますか?
前もって感謝します。