2011-04-26 67 views
0

我正在開發一個使用ASP.NET MVC 3和實體框架代碼優先的SQL Server Express在後端的Web應用程序。SQL Server Express需要很長時間才能喚醒

SQL Server Express falls asleep by design節省系統資源。我對這種行爲很滿意,但不幸的是,在SQL Server Express閒置很長一段時間後,第一次遇到頁面時,實體框架超時等待數據庫從空閒狀態返回到活動狀態。

是否有一個全局方法來告訴實體框架在拋出異常之前等待數據庫更長時間?

回答

1

我不確定DbContext API是否公開任何屬性以覆蓋SQL Server提供程序可能30秒的默認命令超時。您可以嘗試將DbContext轉換爲ObjectContext並將該超時設置爲:

var ctx = ((IObjectContextAdapter) dbContext).ObjectContext; 
ctx.CommandTimeout = 120; 
相關問題