实体框架代码优先 - 保持与数据库的长连接

时间:2017-02-27 04:22:43

标签: c# sql-server asp.net-mvc entity-framework linq

以下是我使用linq查询24列数据库的代码

  var list = (from x in db.graph_update
              where x.serial == serial_number 
                    && (x.plotdate >= date_from && x.plotdate <= date_to)
              select new {
                  x.plotdate,
                  x.Temperature
              }).ToList();

由于数据库包含大量数据,因此获取所有这些数据的连接时间将花费很长时间,通常会导致错误:

  
    

500 - 请求超时。

  
     

Web服务器未能在指定时间内响应。

如何维护这个长时间运行的连接,以便它不会超时并能够获取所有数据?

1 个答案:

答案 0 :(得分:0)

无论出于何种原因,您的查询需要花费很长时间,您可以对其进行分析并获得最大查询时间并设置超时:

实体框架6:

this.context.Database.CommandTimeout = 180;

实体框架5:

((IObjectContextAdapter)this.context).ObjectContext.CommandTimeout = 180;