У меня такой код:
using (MySqlConnection conn = new MySqlConnection(connStr))
{
conn.Open();
cmd = conn.CreateCommand();
cmd.CommandText = "SELECT * FROM Events";
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
Прочитав несколько статей на этом сайте, можно сделать вывод, что DbCommand
должен быть в блоке using, однако я не понимаю, зачем это нужно. Соединение закрыто, так что DbCommand удерживает, что требует блока using? Действительно ли, если класс наследуется от IDisposable, вы должны использовать блок using или вызывать вручную Dispose?
Я запустил симулятор со 100 потоками в приведенном выше коде, а также с кодом с блоком using на DbCommand
, и я не увидел реальных различий в использовании памяти.