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

问题描述 投票:0回答:2

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

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

pagination linq-to-sql
2个回答
2
投票

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

如果要在服务器端执行分页,则应该在 IQueryable 仍处于后期执行时执行这些操作。


0
投票

IEnumerable 是问题所在。将 Linq.DataQuery 作为 IQueryable 返回允许 Linq to SQL 向查询添加其他操作。当我描述问题时就明白了这一点。

© www.soinside.com 2019 - 2024. All rights reserved.