1. ホーム
  2. c#

DbContextのCommandTimeoutを設定する方法は?

2023-09-29 03:43:54

質問

DbContext の CommandTimeout を設定する方法を探しています。検索した結果、DbContextをObjectContextにキャストし、objectContextのCommandTimeoutプロパティに値を設定する方法が見つかりました。

var objectContext = (this.DbContext as IObjectContextAdapter).ObjectContext;

しかし、DbContextで動作させなければなりません。

どのように解決するのですか?

あなたの方法で解決します。

あるいはサブクラス化し ( msdnフォーラム )

public class YourContext : DbContext
{
  public YourContext()
    : base("YourConnectionString")
  {
    // Get the ObjectContext related to this DbContext
    var objectContext = (this as IObjectContextAdapter).ObjectContext;

    // Sets the command timeout for all the commands
    objectContext.CommandTimeout = 120;
  }
}