如果我要写如下......
var latest = _records.OrderByDescending(x => x.Date).First();
这个订购是完整的吗?或者Linq聪明到可以解决你只是在寻找最大值?是否有更有效的方式来编写上述内容?
答案 0 :(得分:2)
是的,LINQ to SQL足够聪明,可以在数据库端完成工作。您的代码段将生成类似SELECT TOP (1) ... ORDER BY ...
的SQL。
(假设您的代码段_records
代表System.Data.Linq.Table<T>
或IQueryable
等等。
就编写查询的最佳方式而言,如果您的表可能不包含任何记录,则可以考虑FirstOrDefault()
,在这种情况下First()
将引发异常。