我正在使用實體框架(EF6)隨機獲取執行超時過期錯誤。在執行下面的更新命令時,它給出了隨機執行超時錯誤。執行超時已過期 - 隨機進行簡單更新命令
UPDATE [DBO]。[EmployeeTable中] SET [名稱] = @ 0,[JoiningDate] = @ 1 WHERE ([EMPID] = @ 2)
上述更新命令是簡單並且需要2-5秒才能更新EmployeeTable。但有時同樣的更新查詢需要40-50秒,並導致錯誤爲
執行超時已過期。 完成操作或服務器沒有響應之前超時的時間已過。 聲明已被終止
。
對於我更新了內部MyApplicationContext類的構造函數代碼可以被改變成包括以下屬性
this.Database.CommandTimeout = 180;
上述命令應該解決我的超時問題。但我找不到這個問題的根源。
對於我的理解,這種類型的超時問題可能有三個原因;
- 有一個僵局地方
- 數據庫的統計數據和/或查詢計劃緩存是不正確的
- 查詢過於複雜,需要調整
能否請你告訴我是什麼那個錯誤的主要根源是什麼?
你有沒有得到任何解決這個..?我也面臨類似的問題。 – Abi
不,我認爲在實體框架DLL的問題。 – pradeep
我通過刪除.net交易得到了解決方法..它的工作完美.. – Abi