Friday, February 22, 2019

c# - Set database timeout in Entity Framework




My command keeps timing out, so I need to change the default command timeout value.



I've found myDb.Database.Connection.ConnectionTimeout, but it's readonly.



How can I set the command timeout in Entity Framework 5 ?


Answer



Try this on your context:



public class MyDatabase : DbContext

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






If you want to define the timeout in the connection string, use the Connection Timeout parameter like in the following connection string:





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" />





Source: How to: Define the Connection String


No comments:

Post a Comment

plot explanation - Why did Peaches' mom hang on the tree? - Movies & TV

In the middle of the movie Ice Age: Continental Drift Peaches' mom asked Peaches to go to sleep. Then, she hung on the tree. This parti...