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