一度に 70K 近くのレコードを処理するために、アプリケーションで codefriststoredprocs 2.5.0 を使用しています。レコードが少ない場合はすべて正常に動作しますが、データのセットが大きい場合、「待機操作がタイムアウトしました」という例外が発生します。次の方法で、デフォルトのコマンド タイムアウト値を 30 秒から 600 秒に変更してみました。
//Previous approach
((System.Data.Entity.Infrastructure.IObjectContextAdapter)this.db).ObjectContext.CommandTimeout = 600;
//New approach for EF 6
this.db.Database.CommandTimeout = 600;
ただし、30 秒後に接続タイムアウト メッセージが表示されます。また、web.config 設定の接続タイムアウト値を 600 秒に変更しました (コマンドのタイムアウト値とは異なることはわかっていますが、試してみてください)。問題は、ストアド プロシージャの実行中にコマンドのタイムアウト値をデフォルトに変更する codefirststoredprocs ライブラリにあるように感じます。この問題を解決する方法はありますか、それともアプリケーションでストアド プロシージャを使用する別の方法を使用する必要がありますか。
前もって感謝します。