假设我有一个这样的查询:
var result=collection.OrderBy(orderingFunction).Skip(start).Take(length);
整个查询会在 SQL Server 上运行并返回结果,还是会返回整个有序表然后Skip
在Take
内存中运行?我很担心,因为我注意到OrderBy
返回IOrderedEnumerable
。
像这样的东西怎么样:
if(orderAscending)
orderedCollection=collection.OrderBy(orderingFunction);
else
orderedCollection=collection.OrderByDescending(orderingFunction);
var result=orderedCollection.Skip(start).Take(length);
Skip
在这种情况下, and部分会Take
在服务器上运行还是在内存中运行?