超时使用linq到sql获取数据时出现异常

时间:2012-04-18 08:36:16

标签: mysql linq-to-sql exception entity-framework-4.1 timeout

我遇到了两天无法解决的问题。这是故事 我使用LINQ to SQL从我的MySQL 5.0数据库中获取记录列表,但是执行将中断,但有一个例外:

  

超时已过期。操作完成之前经过的超时时间或服务器没有响应。

我首先在后端使用实体框架工作代码。这是我的代码:

context = new NebeContext();
var data2 = (from row in context.PollingStationConstituencyCandidates
    where row.ElectionId.Equals(electionId) && row.ConstituencyId.Equals(constituencyId)
    select new { row.LocationId, row.LocationNameA, row.PollingStationNameA, row.PollingStationNameE, row.PollingStationId }).Distinct();

List<PollingStationInfo> resultList = new List<PollingStationInfo>();
PollingStationInfo result = new PollingStationInfo();
foreach (var i in data2)
{
    result = new PollingStationInfo() { LocationId = i.LocationId, LocationNameA = i.LocationNameA, NameA = i.PollingStationNameA, NameE = i.PollingStationNameE, PollingStationId = i.PollingStationId };
    resultList.Add(result);
}
return resultList;

1 个答案:

答案 0 :(得分:1)

好吧,错误信息是自我解释:您的查询花费的时间太长,数据库无法完成,并且您会超时......

要么:

对sql进行概要分析,看看是否需要一些额外的索引或更好的查询。另外,请检查您是否收到n + 1个查询

更改datacontext上的TimeOut