db.savechanges()中的默认超时值?

时间:2016-11-11 11:32:40

标签: c# entity-framework asp.net-mvc-4

DbContext.SaveChanges()方法是否有任何默认超时值。我正在开发一个使用savchanges()方法将数据保存到数据库的应用程序。但是,此方法抛出一条错误消息:

  

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

2 个答案:

答案 0 :(得分:1)

此错误可能是由于:     代码中某处的死锁和/或查询很复杂,需要调整。 所以试着通过考虑以上几点来找到它。让我们知道如果没有解决

感谢。

答案 1 :(得分:1)

除非您使用以下命令指定超时:

context.Database.CommandTimeout = 1000;

默认超时取自连接器(我不确定您是否可以更改它,但希望设置更长的超时可能有帮助。)

编辑: 另外,请确保将治疗方法包括在

等用途中
using(var ctx = new Entity())
{
    ctx.Object.AddObject(a);
    ctx.SaveChanges();
}

当用这种方式封闭时,你让DbContext处理连接的打开和关闭。

我怀疑你的连接仍处于打开状态,并阻止你打开另一个连接。