我刚从Subsonic 2.2 ActiveRecord升级到3.0.0.3。我试图使用LINQ来执行分页查找查询,如下所示(我的对象/表名为“Repository”):
Repository.Find(item => item.DocumentTitle.Contains(searchTerm))
.OrderBy(i => i.DocumentTitle).Skip((currentPage - 1) * itemsPerPage)
.Take(itemsPerPage);
当我使用SQL Server Profiler查看此查询生成的SQL时,SQL中没有分页,所有分页都在C#内存中完成。现在,Subsonic查询语言确实有一个不错的GetPaged过程可以正常工作,但我认为LINQ也应该能做到这一点。我错过了什么还是LINQ的局限性?
我知道Repository.GetPaged()函数,但它没有足够的参数 - 我需要进行动态排序和Find()。