Необходимо ли всегда закрывать DataReader прежде, чем закрыть соединение, или оно должно хорошо просто закрыть соединение? Просто закрыв соединение, которое эффективно закрывает средство чтения?
(Это для c#.net 3.5),
Спасибо!
Помимо ясности вашего намерения, есть следующее из документации Microsoft ( Получение данных с помощью DataReader (ADO.NET) ):
Вы всегда должны вызывать метод Close, когда закончите используя объект DataReader.
Закройте также DataReader.
imo. если он реализует IDisposable или имеет метод .close () или аналогичную конструкцию, которую в документации указано, что вы должны вызвать ее, когда закончите с этим экземпляром - сделайте это. Не полагайтесь ни на что другое, чтобы позаботиться об этом за вас - если в документации явно не указано, что это так. Для DataReader / DbConnection - в документации ничего подобного не упоминается.
Я предпочитаю использовать C # с помощью statment, который вызовет для вас dispose (). Вот достойное объяснение.