EntityFramework在执行存储过程时获取超时

时间:2013-02-27 13:37:08

标签: c# sql-server entity-framework-5

我正在尝试在SQL Server 2008 R2上运行一个简单的存储过程。

当我使用Studio Management运行程序时,我在不到一秒的时间内得到答案,当使用EF运行时,我在2分钟后得到超时异常(我将CommandTimeout设置为2分钟)。

当我使用LINQ时效果很好,但我更喜欢存储过程。

任何人都知道可能是什么问题?

2 个答案:

答案 0 :(得分:0)

听起来很奇怪,特别是因为EF根据您的Linq语句进行了非常优化的查询,尝试使用SQL事件探查器查看发送到数据库的命令。

答案 1 :(得分:0)

通常,当您使用Compact以外的SQL Server版本时,在Entity Framework的连接字符串中需要MultipleActiveResultSets = True。这可能是你的问题。另外,正如其他人所建议的那样,您是否已检查过SQL Profiler以查看正在向数据库发送的代码?