Entity Framework でデータベースのタイムアウトを設定する 質問する

Entity Framework でデータベースのタイムアウトを設定する 質問する

コマンドがタイムアウトし続けるため、デフォルトのコマンド タイムアウト値を変更する必要があります。

を見つけましたmyDb.Database.Connection.ConnectionTimeoutが、それは ですreadonly

コマンドタイムアウトを設定するにはどうすればいいですか?エンティティフレームワーク5?

ベストアンサー1

あなたの状況でこれを試してください:

public class MyDatabase : DbContext
{
    public MyDatabase ()
        : base(ContextHelper.CreateConnection("Connection string"), true)
    {
        ((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180; // seconds
    }
}

接続文字列でタイムアウトを定義する場合は、Connection Timeout次の接続文字列のようにパラメータを使用します。

<connectionStrings>

<add name="AdventureWorksEntities"
connectionString="metadata=.\AdventureWorks.csdl|.\AdventureWorks.ssdl|.\AdventureWorks.msl;
provider=System.Data.SqlClient;provider connection string='Data Source=localhost;
Initial Catalog=AdventureWorks;Integrated Security=True;Connection Timeout=60;
multipleactiveresultsets=true'" providerName="System.Data.EntityClient" />

</connectionStrings>

ソース:方法: 接続文字列を定義する

おすすめ記事