在简单查询上获取 "the wait operation timed out",其他查询有效,在本地数据库上有效

Getting "the wait operation timed out" on simple query, other queries work, works on local db

我有一个非常简单的 LINQ 查询,我在其中调用视图来获取对象,基本上它看起来像这样:

context.view.FirstOrDefault(p => p.id == key)

key和id是字符串,我觉得不太理想。但是,当我 运行 它针对我的本地数据库时,它工作正常。

但是,当我部署我的应用程序时,我收到消息:

[Win32Exception (0x80004005): The wait operation timed out]
[SqlException (0x80131904): Timeout expired.  The timeout period elapsed prior to
completion of the operation or the server is not responding.]

等等

其他针对视图的查询工作迅速且符合预期。他们 return 列出而不是单个对象,我不确定这是否会有所不同。

由于环境的配置方式,我无法从我的开发环境连接到我的托管数据库,因此我的故障排除选项有些受限。我仔细检查了本地和托管环境中的视图是否相同。

当我 运行 SSMS 中针对托管数据库的查询时,它会在一秒钟内执行。

我不确定就故障排除而言,接下来的步骤会有什么好处,希望得到任何建议。

我用的是Entity Framework6,数据库优先

戴安娜和威廉提出了很好的建议。不幸的是,我没有权限查看托管数据库中的查询计划。

在简化托管数据库上的视图返回的结果后,我确定问题的根源实际上是查询视图的缓慢。虽然查询本身很简单,但视图却相当复杂。我将看看是否可以获得对数据库的必要权限以创建索引视图。