我正在将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查询,它也非常快。
您知道我可以尝试查找问题的根源吗?为什么直接执行查询或从实体框架执行查询之间有区别?
答案 0 :(得分:1)
启用dbMonitor并指定EF提供程序生成的SQL。
检查dbMonitor中的“参数”窗口,并确保在WHERE条件下使用的参数的数据类型与相应列的数据类型相同。
告诉我们您的Oracle Server的版本。