2014-01-13 89 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秒,因此看起來存儲過程返回結果需要更長的時間。增加超時只是治療症狀。