我很新仍然在C#所以我可能會做一些愚蠢的事情,但我已經花了一些時間看這個,仍然無法看到問題是什麼。最後一個()方法不工作在IQueryable對象
下面是一些代碼片段:
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對象,那麼問題是什麼?
錯誤文本: 查詢運算符'Last'不受支持。
未能解決方案我相信我可以用邏輯解決問題,但這看起來很優雅。
感謝,
喬納森
你可以發佈你的異常? – 2010-08-13 11:24:40
拋出什麼錯誤? – 2010-08-13 11:25:20
嘿,我剛剛意識到你使用了[wtf](http:// thedailywtf。com /)作爲一個真正的變量名稱。 – 2010-08-13 11:26:58