LINQ跳过并采取了不错的表现吗?

alc*_*cal 3 linq ado.net sql-server-2008 skip-take

我们查询了大约40个与客户相关的数据字段.查询通常会返回大量记录,例如最多20,000条记录.我们只想在前500个结果中使用说.然后,我们只希望能够一次翻阅10个.

LINQ是否跳过并采取合理的方法?使用这种方法与其他方式手动执行是否存在任何强大的性能问题?

eld*_*rge 6

Take()没有Skip()生成SQL using TOP子句.

Take()Skip使用生成SQL ROW_NUMBER()如图这里.

另外,我建议使用优秀的LINQPad工具或LINQ to SQL日志来检查生成的查询.