2014-01-13 92 views
0

我们有以下代码:使用实体框架超时错误?

var db = new CoreEntityDB(); 
var abc = new abcDB(); 
var connection = new DataStore(db.ConnectionStrings.First(p => p.Name == "Abc").Value, DataStore.Server.SqlServer); 
var projects = new List<abc_Employees>(); 
projects.AddRange(abc.Database.SqlQuery<abc_Employees>("usp_ABC_EmployeeSys")); 

该项目上以下行失败:

projects.AddRange(abc.Database.SqlQuery<abc_Employees>("usp_ABC_EmployeeSys")); 

和错误说:“过期超时操作完成前经过的超时时间或服务器没有响应“

前几天一切正常,现在,什么都没有。就代码或sql存储过程而言,没有什么改变。

其他人以前经历过这个吗?

+0

您的数据库服务器是否正在运行?我有时会在启动时遇到此问题,并且在SQL Server发生变化之前运行一个页面。 – JBrooks

回答

0

您是否尝试独立运行SP以查看这是否是瓶颈?

0

命令是否超时?

可以使用增加命令超时: ((IObjectContextAdapter)abc).ObjectContext.CommandTimeout = 180;

你应该看看你的存储过程。默认的超时时间是30秒,因此看起来存储过程返回结果需要更长的时间。增加超时只是治疗症状。