我有一段 Entity-to-SQL 代码组成一个IQueryable,ToPagedList()在其上运行,然后将结果传递到 MVC 视图中。
ToPagedList()运行 SQL 查询超时失败。我提取了生成的 SQL 查询(使用IQueryable.ToString())并在服务器上运行它——它在不到一秒的时间内运行并且输出为空(这是正确的)。
因此,我ToPagedList()运行了一个查询,该查询将产生一个运行半分钟并超时的空结果,并且我拥有在同一台服务器上运行不到一秒的底层 SQL。
由于 SQL 查询输出为空,我不能将延迟归咎于过滤、检索或 EF 中的任何其他内容。
什么会导致产生空输出的快速 SQL 查询从内部运行极其缓慢ToPagedList()?
UPD
这个问题似乎已经自行解决了,所以看起来这是运行代码的机器和 SQL Server 机器之间的一些临时问题。