2012-06-13 94 views
0

我有以下查詢:LINQ無法隱式轉換類型「System.Linq.IQuerable

tblVAL tblval = db.tblVALs.Where(p => p.PID == pid); 

注意,我期望能獲得應返回的項目列表。 tblVAL是實體框架中的表格。請注意,我需要一個項目清單才能退貨,因爲可能有1個以上的項目是退貨。因此,我不想先用()等

我得到以下信息

無法隱式轉換類型「System.Linq.IQuerable到wa.Models.tblVAL」。存在隱含的轉換(您是否缺少演員?)

回答

1

您的查詢正在返回一個集合。您需要撥打SingleOrDefault,Single,FirstFirstOrDefault才能獲得單個記錄。

tblVAL tblval = db.tblVALs.Where(p => p.PID == pid).SingleOrDefault(); 

如果你想收藏,您的變量類型更改爲一個集合:

IEnumerable<tblVAL> tblval = db.tblVALs.Where(p => p.PID == pid); 

您也可以撥打ToList強制執行查詢:

List<tblVAL> tblval = db.tblVALs.Where(p => p.PID == pid).ToList(); 
+0

我需要它來返回一個集合。我如何做到這一點。 –

+0

看到我更新的答案。 – jrummell

0

如果你可以得到很多結果回來,簡單的事情就是調用ToList。

熟悉System.Linq.Enumerable的方法,您將成爲linq的專家。

相關問題