2016-11-11 63 views
1

0123'方法是否有任何默認超時值。我正在研究一個應用程序,它使用savchanges()方法將我的數據保存到數據庫中。但是,此方法會拋出錯誤消息:db.savechanges()中的默認超時值?

「操作完成之前已過的超時時間或服務器沒有響應」。

+0

ctx.Database.CommandTimeout = 120 //增加你所需要的; –

回答

1

此錯誤可能是由於: 代碼中的某處發生了死鎖和/或查詢很複雜,需要進行調整。 所以試着通過考慮以上幾點來找到它。讓知道如果不解決

謝謝。

+0

不是,查詢是一個簡單的使用linq插入記錄到數據庫的查詢。該應用程序在一臺服務器上正常工作,但在另一臺服務器上失敗。 –

1

除非你指定一個超時:

context.Database.CommandTimeout = 1000; 

默認超時從連接器採取了(我不知道,你可以更改,但我希望,設置一個更大的超時可能會幫助)。

編輯: 另外,還要確保你內使用諸如

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

附上就診時封閉這樣,你讓的DbContext處理連接的打開和關閉。

我懷疑你有一個連接仍然打開,並阻止你打開另一個連接。