Linq to sql Linq到SQL获取具有最大日期值的记录

Linq to sql Linq到SQL获取具有最大日期值的记录,linq-to-sql,performance,max,Linq To Sql,Performance,Max,如果我要写如下 var latest = _records.OrderByDescending(x => x.Date).First(); 这是订购整套的吗?或者Linq是否足够聪明,以至于你只在寻找最大值?有没有更有效的方法来编写上述内容?是的,LINQtoSQL足够聪明,可以在数据库端完成这项工作。您的代码片段将产生类似SQL的selecttop(1)。。。订购人… (这是假设在代码段中,U记录表示一个System.Data.Linq.Table或某个IQueryable等。) p

如果我要写如下

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

这是订购整套的吗?或者Linq是否足够聪明,以至于你只在寻找最大值?有没有更有效的方法来编写上述内容?

是的,LINQtoSQL足够聪明,可以在数据库端完成这项工作。您的代码片段将产生类似SQL的
selecttop(1)。。。订购人…

(这是假设在代码段中,U记录表示一个
System.Data.Linq.Table
或某个
IQueryable
等。)


<> p>至于写查询的最佳方式,您可能会考虑<代码> FrStReDebug()/代码>如果您的表可能不包含任何记录,在这种情况下,代码>第一个()/<代码>将引发异常。p> 为什么不打开sql分析器,创建一个新的跟踪并跟踪sql命令呢。您将能够看到调用了什么sql语句。我自己也不知道答案,所以我会采取这种方法。