У меня есть статический класс DataAccess со статическими методами: MyExecuteReader (возвращает sqldatareader) и MyExecuteXmlReader (возвращает XmlReader).
Теперь с помощью метода ExecuteReader я могу сделать SqlCommand.ExecuteReader (CommandBehavior.CloseConnection), и это закроетсоединение, когда я закрываю читатель.
SqlCommand.ExecuteXmlReader () не имеет аналогичного метода.
Так что в этом случае лучше всего обеспечитьсоответствующее соединение закрыто?
Примечание:
Мой запрос возвращает XML, т.е. использует FOR XML AUTO.Вот почему я использую XmlReader.Возвращенное поле считается SqlString.Я могу использовать метод SqlDataReader.GetSqlString, но я не уверен, что это хороший подход или нет.
Обновление:
Я могу прочитать XML в строку и вернуть строку вместо XmlReader из DAL.
Мне известно об операторе using, и почему-то эта опция была исключена из-за некоторых проблем с обработкой исключений.