我是 EF/Linq-To-SQL 的新手。我之前在 SO 上读到过,IQueryable 比 IEnumerable 更有利,因为它可以进行惰性求值。关于以下简单示例:
var records = db.Employees.Where(x => x.EmployeeID == "3" );
if (records.Any())
{
var topRecord = records.First();
}
IQueryable 表达式是否被计算了两次?一次检查结果集中的任何元素,一次检索第一个元素?如果是这样,是否有更有效的方法来执行这种选择?