Когда SqlCommand.ExecuteReader () вернет значение null?

При использовании вызоваSqlCommand.ExecuteReader() метод, ReSharper говорит мне, что у меня есть возможное исключение NullReference при последующем использовании объекта SqlDataReader.

Так со следующим кодом:

using (SqlConnection connection = GetConnection())
{
    using (SqlCommand cmd = connection.CreateCommand())
    {
        cmd.CommandText = ; //snip

        using (SqlDataReader reader = cmd.ExecuteReader())
        {
            while (reader.Read())
            {
                //snip
            }
        }
    }
}

while (reader.Read()) линия подчеркнута.

Мой вопрос: когда объект читателя будет нулевым? Я никогда не сталкивался с этим, и документация не упоминает, что это могло бы быть. Должен ли я проверять, является ли он пустым или его можно игнорировать?

И почему бы ReSharper подумать, что он может быть нулевым, если, например, он позволяет мне использовать SqlCommand без рекомендации проверки его на нулевое значение? Я предполагаю, что есть атрибут в методе ExecuteReader.

Ответы на вопрос(5)

Ваш ответ на вопрос