DataClassesDataContext db = new DataClassesDataContext();
var q = from Blog in db.tblBlogEntries where Blog.ID == EntryID select Blog;
這將僅返回一條記錄,因爲Blog.ID是主鍵。Linq返回1條記錄
我怎麼那麼:
- 檢查一番返回(EOF)
- 訪問,而foreach循環返回的數據?
DataClassesDataContext db = new DataClassesDataContext();
var q = from Blog in db.tblBlogEntries where Blog.ID == EntryID select Blog;
這將僅返回一條記錄,因爲Blog.ID是主鍵。Linq返回1條記錄
我怎麼那麼:
可以使用SingleOrDefault()
擴展。確保你檢查null。
var q = (from Blog in db.tblBlogEntries where Blog.ID == EntryID select Blog).SingleOrDefault();
if(q != null)
{
}
看看this answer關於從LINQ查詢檢索一個元素。
(我想你會想使用SingleOrDefault
方法。)
謝謝你,如果你通過你可能想使用單(),你總是期待的東西回來ID選擇完美的作品 – 2011-03-06 13:50:55
var data = q.FirstOrDefault(); // Or use SingleOrDefault if you want it to throw an error when the result has more than one element.
if (data == null)
// Your query did not match any elements
else
// The result element is in data variable.
。如果沒有滿足where條件,Single將引發異常。 – Pleun 2011-03-06 15:21:17