コマンドがタイムアウトし続けるため、デフォルトのコマンド タイムアウト値を変更する必要があります。
を見つけました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>
ソース:方法: 接続文字列を定義する