2011-04-26 68 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; 
相关问题