Ответ 1
Да, это будет; реализация DbConnection.Dispose()
вызывает Close()
(и, следовательно, делает ее производные реализации).
using (DbConnection conn = new DbConnection())
{
// do stuff with database
}
Будет ли using
блокировать вызов conn.Close()
?
Да, это будет; реализация DbConnection.Dispose()
вызывает Close()
(и, следовательно, делает ее производные реализации).
Конечно, да, потому что он установит соединение и перед тем, как удалять внутреннюю логику соединения, вызывает закрытие.
Да - http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlconnection.close.aspx
edit: от Microsoft: "Соединение автоматически закрывается в конце используемого блока".
Использование блока будет гарантировать уничтожение объекта DbConnection, вызвав метод Dispose(). Метод Dispose(), в свою очередь, вызовет метод Close() и должен дождаться завершения закрытия соединения с базой данных.