我有這樣的查詢代碼在這裏:LINQ的拉姆達實體,不包含定義
//Get all records based on ActivityID and TaskID.
public IList<Model.questionhint> GetRecords1(int listTask, int listActivity)
{
IList<Model.questionhint> lstRecords = context.questionhints.ToList();
return lstRecords.GroupBy(x => new { x.QuestionNo, x.ActivityID, x.TaskID }).Where(a => a.TaskID == listTask && a.ActivityID == listActivity).ToList();
}
錯誤在於.Where
聲明,它說,不包含定義ActivityID
和TaskID
。
完整的錯誤:
「System.Linq.IGrouping」不包含關於「ActivityID」和沒有擴展方法「ActivityID」接受類型「System.Linq.IGrouping」的第一個參數可以定義找到(是否缺少using指令或程序集引用?)
我在查詢語句弱,基本上我想從數據庫中檢索記錄,其中活動ID =東西和任務ID =東西,他們組由questionNo,activityId和Task ID。
btw;如果'context'是一個像LINQ-to-SQL,EF等提供者那麼'IList lstRecords = context.questionhints.ToList();'是一個真的***不好的想法 - 這迫使它加載整個表,在'where'等之前 - 並切換到LINQ到對象。我編輯了我的答案,以顯示如何避免 –