На своем рабочем месте я недавно сталкивался с кодом на этот счет при открытии соединения SQLite:
if (_connection.State == ConnectionState.Closed)
{
_connection.Open();
}
Есть ли преимущество в первой проверке, закрыто ли соединение перед его открытием? При закрытии соединения, есть ли причина сначала проверить, было ли оно открыто?