实体框架-简单查询需要3分钟才能完成

时间:2019-10-08 08:27:05

标签: oracle entity-framework-6 devart

我正在将Entity Framework 6 Code First与Oracle数据库一起使用(使用Devart DotConnect for Oracle)

对于具有SingleOrDefault的特定查询,查询需要1秒才能完成:

-- Executing at 08.10.2019 10:04:04 +02:00
-- Completed in 1211 ms with result: d

但是在3,5分钟内什么也没有发生,直到连接关闭:

Closed connection at 08.10.2019 10:07:41 +02:00

在这段时间内,数据库服务器的CPU达到100%。

如果我直接在数据库上执行相同的查询,那将非常快。

如果我稍微修改LINQ查询,它也非常快。

您知道我可以尝试查找问题的根源吗?为什么直接执行查询或从实体框架执行查询之间有区别?

1 个答案:

答案 0 :(得分:1)

  1. 启用dbMonitor并指定EF提供程序生成的SQL。

  2. 检查dbMonitor中的“参数”窗口,并确保在WHERE条件下使用的参数的数据类型与相应列的数据类型相同。

  3. 告诉我们您的Oracle Server的版本。