В настоящее время у меня есть довольно длинный оператор LINQ, который извлекает данные из двух таблиц: Employee и Time. Этот IQueryable отображается в Telerik RadGrid через источник данных Grids. Моя цель - показать Часы Работника за этот Период и позволить Пользователю загрузить Утвержденное Расписание в систему.
public static IQueryable GetUnimportedTimesheets()
{
DataContext tData = new DataContext();
var Times = tData.system_Times.Where(a => a.Status == 0)
.OrderBy(a => a.Period)
.ThenBy(a => a.system_Employee.LName)
.GroupBy(a => new { a.Period , a.EmployeeID } )
.Select(x => new
{
Times = x.FirstOrDefault(),
TotalReg = tData.system_Times
.Where(b => b.EmployeeID == x.Key.EmployeeID && b.PayCode == "211")
.Sum(b => b.Hours),
TotalOT = tData.system_Times
.Where(b => b.EmployeeID == x.Key.EmployeeID && b.PayCode == "212")
.Sum(b => b.Hours),
TotalTrav = tData.system_Times
.Where(b => b.EmployeeID == x.Key.EmployeeID && b.PayCode == "214")
.Sum(b => b.Hours),
TotalSub = tData.system_Times
.Where(b => b.EmployeeID == x.Key.EmployeeID && b.PayCode == "251")
.Sum(b => b.Hours),
FName = tData.system_Employees
.Where(b => b.EmployeeID == x.Key.EmployeeID)
.Select(c => c.FName).FirstOrDefault(),
LName = tData.system_Employees
.Where(b => b.EmployeeID == x.Key.EmployeeID)
.Select(c => c.LName).FirstOrDefault(),
Div = tData.system_Employees
.Where(b => b.EmployeeID == x.Key.EmployeeID)
.Select(c => c.Dept).FirstOrDefault(),
AccID = tData.Pmsystem_Employees
.Where(b => b.EmployeeID == x.Key.EmployeeID)
.Select(c => c.AccountingID).FirstOrDefault(),
Period = tData.system_Times
.Where(b => b.EmployeeID == x.Key.EmployeeID)
.Select(c => c.Period).FirstOrDefault(),
Status = tData.system_Times
.Where(b => b.EmployeeID == x.Key.EmployeeID)
.Select(c => c.Status).FirstOrDefault()
}
);
return Times;
}
Несмотря на то, что в начале инструкции для GroupBy я указывал и EmployeeID, и Period, выходные данные по-прежнему группируются только по EmployeeID. На изображении ниже показан текущий результат, который должен быть разделен на период и идентификатор сотрудника, а не только идентификатор сотрудника.
![Current RadGrid](https://i.stack.imgur.com/JwdRh.png)
В чем может быть проблема с моим утверждением, и как я могу перевести его в на самом деле GroupBy ОБОИ периода и EmployeeID?