Pruebe esto en su contexto:
public class MyDatabase : DbContext
{
public MyDatabase()
: base(ContextHelper.CreateConnection("Connection string"), true)
{
((IObjectContextAdapter)this).ObjectContext.CommandTimeout = 180;
}
}
Si desea definir el tiempo de espera en la cadena de conexión, utilice el parámetro Connection Timeout
al igual que en la cadena de conexión:
<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>
Fuente: How to: Define the Connection String
FYI, en EF6, 'Database.CommandTimeout' ya no es de solo lectura – itsho
@itsho Estaba hablando de' Database.Connection.ConnectionTimeout'. De todos modos, diría que 'Database.CommandTimeout' es lo correcto en el caso de que su consulta sea time-outing (excepción' System.Data.Entity.Core.EntityCommandExecutionException' que contiene 'System.Data.SqlClient.SqlException: Timeout expired. '). –
duplicado posible de [Entity Framework Tiempos de espera] (http://stackoverflow.com/questions/6232633/entity-framework-timeouts) –