3

可能重复:
在实体框架 4.1 中查询数据页面并获取总数的更好方法?

在使用 EF / LINQ to 实体实现分页时,我熟悉使用Skip()Take()决定要显示哪个分页部分。我也熟悉Count()在调用之前使用Skip()Take()获取被分页的(非分页)结果的总数。

我的问题是,这是否总是必须最终以 2 个单独的查询被发送到数据库?我认为是的,因为我们需要先调用 Count() 来获取总数 ( SELECT COUNT(*) FROM...),然后使用 Skip/Take 扩展表达式树,然后再次调用以获取实际数据 ( SELECT * FROM...)。

我隐约记得读过 SQL 2k8 中的一个技巧,该技巧使总行计数变得更容易,但我怀疑 EF / LINQ to Entities 是否支持此提供程序功能。只是问这个问题,看看是否有人知道如何将这些整合到一个数据库中。

4

0 回答 0