Я все еще новичок в C #, поэтому, возможно, я делаю что-то глупое, но я потратил некоторое время на это и все еще не понимаю, в чем проблема.
Вот некоторые фрагменты кода:
double work = 0;
ProjectRepository pr = new ProjectRepository();
IQueryable<CalendarDetail> cds;
// Find matching day of week
// Then for that day, cycle through all working times
// Return list of working times in day
cds = pr.GetCalDetails(calendarID, startTime.DayOfWeek.GetHashCode());
foreach (CalendarDetail cd in cds)
{
DateTime wts = startTime.Date + cd.WorkingTimeStart.Value.TimeOfDay;
DateTime wtf = startTime.Date + cd.WorkingTimeFinish.Value.TimeOfDay;
//more code here....
if ((cds.Last().CalendarDetailID == cd.CalendarDetailID) && (finishTime > wtf))
work += Work(startTime.Date.AddDays(1), finishTime, calendarID);
}
Ошибка генерируется во время выполнения из-за моего использования вызова метода cds.Last (). Тем не менее, cds был объявлен и используется как объект IQueryable, так в чем же проблема?
Текст ошибки:
Оператор запроса «Последний» не поддерживается.
Если решение не найдено, я уверен, что смогу «логически» обойти эту проблему, но это показалось изящным.
Спасибо
Jonathan