我的Linq to SQL查询分页逻辑没有在数据库中执行

时间:2009-12-10 19:22:46

标签: linq-to-sql paging

如何在服务器上执行Linq to SQL查询逻辑?

我创建了一个Linq查询并将其作为IEnumerable返回。对.Count()或.Take(5)等查询的后续操作将在CLR中的客户端上进行评估,而不是在服务器上进行评估。

2 个答案:

答案 0 :(得分:2)

转换为IEnumerable将导致执行查询 - 因此数据现在位于客户端。

如果要在服务器端执行分页,则应该执行这些操作,因为它仍然是执行较晚的IQueryable。

答案 1 :(得分:0)

IEnumerable是问题所在。将Linq.DataQuery作为IQueryable返回允许Linq to SQL向查询添加其他操作。我在描述这个问题时想出了这个。