1
我是EF/Linq-To-SQL的新手。我之前读过SO,IQueryable比IEnumerable更有益处,因为它的评估很懒。关于以下简单示例:IQueryable评估
var records = db.Employees.Where(x => x.EmployeeID == "3");
if (records.Any())
{
var topRecord = records.First();
}
IQueryable表达式是否被计算两次?一次检查结果集中的任何元素,一次检索第一个元素?如果是这样,是否有更有效的方法来进行这样的选择?
+1:删除了我的(不正确)的答案。我在评估时忽略了'Any'布尔值。 – 2013-03-20 14:57:31
@LukeH编辑了你的帖子,指出在哪种情况下,FirstOrDefault只会帮助执行一个查询 – Matten 2013-03-20 14:59:00