Miałem problem z EF, gdy połączenie z serwerem zostało zatrzymane lub wstrzymane i zadałem to samo pytanie. Więc dla kompletności powyższych odpowiedzi tutaj jest kod.
/// <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;
}
}
}