Friday 22 February 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

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...