OleDbCommand, два последовательных использования

При двух последовательных «использованиях» оба соединения будут удалены при выходе из {}?

using(OleDbConnection con = new OleDbConnection(conString))
using(OleDbCommand command = con.CreateCommand())
{
}

person bhs67    schedule 13.12.2014    source источник
comment
Да, именно так... И OleDbConnection, и OleDbCommand будут располагаться на } строке.   -  person Soner Gönül    schedule 13.12.2014
comment
Какие 2 связи? Я вижу только 1. Но да, в этом случае оба objects будут. Добавление фигурных скобок {} вокруг таких блоков, как if или using, всегда делает более ясным, что и когда произойдет, так что это хорошая практика.   -  person Rhumborl    schedule 13.12.2014


Ответы (1)


Там только одно соединение — и команда, использующая то же соединение. Оба будут утилизированы.

Это эффективно:

using(OleDbConnection con = new OleDbConnection(conString))
{
    using(OleDbCommand command = con.CreateCommand())
    {
    } // command will be disposed here
} // con will be disposed here
person Jon Skeet    schedule 13.12.2014
comment
В основном то же, что и if(condition) Do(); и if(condition) { Do(); } - person knittl; 13.12.2014