IDataReader для выполнения хранимых процедур - PullRequest
0 голосов
/ 18 апреля 2011

Я использую IDataReader для получения данных из БД с помощью хранимой процедуры. т.е. как то так

using (IDataReader Reader = SqlHelper.ExecuteReader(ConnectionString, "StoredProc1", sqlParam))
{
     while (Reader.Read())
     {
     }
}

В этом случае требуется ли закрывать считыватель вручную? Я сомневаюсь, поскольку мы используем директиву Using , после выполнения она автоматически закроет считыватель?.

Спасибо

Махеш

1 Ответ

2 голосов
/ 18 апреля 2011

Поскольку вы используете using, а возвращаемый читатель реализует IDisposable, Dispose() будет вызываться автоматически.Предполагая, что Dispose() правильно реализовано (и оно есть), оно сделает все необходимое, чтобы обеспечить безопасное удаление объекта.Если это требует вызова Close(), он вызовет Close;Или внутренний эквивалент, о котором нам не нужно знать.

...