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