Tenho tido uma dificuldade com o EF quando a conexão do servidor está parada ou pausada, e levantei a mesma dúvida. Portanto, para completar as respostas acima, aqui está o código.
/// <summary>
/// Test that the server is connected
/// </summary>
/// <param name="connectionString">The connection string</param>
/// <returns>true if the connection is opened</returns>
private static bool IsServerConnected(string connectionString)
{
using (SqlConnection connection = new SqlConnection(connectionString))
{
try
{
connection.Open();
return true;
}
catch (SqlException)
{
return false;
}
}
}