Linq to SQL获取Max日期值的记录

时间:2011-01-14 12:28:31

标签: linq-to-sql performance max

如果我要写如下......

var latest = _records.OrderByDescending(x => x.Date).First();

这个订购是完整的吗?或者Linq聪明到可以解决你只是在寻找最大值?是否有更有效的方式来编写上述内容?

1 个答案:

答案 0 :(得分:2)

是的,LINQ to SQL足够聪明,可以在数据库端完成工作。您的代码段将生成类似SELECT TOP (1) ... ORDER BY ...的SQL。

(假设您的代码段_records代表System.Data.Linq.Table<T>IQueryable等等。

就编写查询的最佳方式而言,如果您的表可能不包含任何记录,则可以考虑FirstOrDefault(),在这种情况下First()将引发异常。