そのため、このコードを書いて、30 秒でタイムアウトになるストアド プロシージャを実行します (これは、いくつかの検索の後、デフォルト値として理解されました)。CommandTimeout を増やす方法を検索したところ、IObjectContextAdapter インターフェイスを使用してタイムアウトを次のように設定することを推奨する多くの回答が得られました。
((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 300;
コンテキスト オブジェクトを確認したところ、Database オブジェクト内に CommandTimeout プロパティが見つかりました。次のコードを記述したところ、すべて正常に動作し、設定した値までタイムアウトが増加しました。
public MyContext() :
base("name=MyContext")
{
Database.SetInitializer<MyContext>(null);
Database.CommandTimeout = 300;
}
この方法で CommandTimeout を設定する際に問題があるかどうか、または IObjectContextAdapter メソッドが推奨されるかどうかを知りたいと思いました。
前もって感謝します。