1

我有一个问题我两天都解决不了。这是故事。
我正在使用 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;
4

1 回答 1

1

好吧,错误消息是自我解释的:您的查询需要太长时间才能完成数据库,并且您会超时......

任何一个:

分析 sql 并查看是否需要一些额外的索引或更好的查询。还要检查你没有得到 n+1 个查询

或者

在 datacontext 上更改 TimeOut

于 2012-04-18T19:13:22.847 回答