C# linq查询超时
下面的查询将生成下一个异常C# linq查询超时,c#,database,sql-server-2008,linq-to-entities,C#,Database,Sql Server 2008,Linq To Entities,下面的查询将生成下一个异常 var consumption = (from c in context.ConsumptionSet join pi in context.PropertiesInstanceSet on c.PropertiesInstanceID equals pi.PropertiesInstanceID join ep in context.EquipmentPro
var consumption = (from c in context.ConsumptionSet
join pi in context.PropertiesInstanceSet on c.PropertiesInstanceID equals pi.PropertiesInstanceID
join ep in context.EquipmentPropertiesSet on pi.EquipmentPropertiesID equals ep.EquipmentPropertiesID
join e in context.EquipmentSet on ep.EquipmentID equals e.EquipmentID
join b in context.BoxSet on e.BoxID equals b.BoxID
where (b.UserID == userId && pi.ProprietesName == property && pi.Instance == 1 && e.IsGeneral == false && c.Date <= limitDate)
group c by e into grp
select new
{
eq = grp.Key,
//cons = grp.OrderByDescending(c => c.ConsumptionID).FirstOrDefault(),
cons = grp.LastOrDefault(),
}).ToDictionary(e => e.eq, e => e.cons);
我试图在连接字符串和数据库上下文中设置连接超时,但没有成功
如果您想增加超时时间,可以尝试在上下文对象上设置CommandTimeout。我会查看生成的SQL,看看它是否构造得很差。这里涉及很多表-确保所有外键都已索引,并确保where子句中使用的字段是索引的和有选择性的。盲目地增加超时而不投资于问题是一个非常糟糕的主意。
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding