using (var conn = new SqlConnection(connectionString))
{
var cmd = new SqlCommand("SELECT * FROM mySchema.MyTable", conn);
conn.Open();
var reader = cmd.ExecuteReader();
while(reader.Read())
{...
В отладчике я вижу, мой читатель имеет одну строку - я могу видеть, возвращенные данные - но reader.Read
возвращается false
мой код обработки не вызывался.DBReader имеет строки, но Read() возвращает ложь
Это кажется довольно простой «прочитайте строки из таблицы базы данных», так что мне не хватает? Должен ли я напрямую или что-то смотреть на данные строки читателя?
Как именно вы _see_ эта строка в отладчике? На какую недвижимость вы смотрели? Отладчик уже вызвал 'Read()', так что, когда ваш код вызывает его, это 'false'? –
Похоже, что отладчик уже прочитал все данные, а ваш код обнаружил, что данных больше нет. Это работает, если вы не используете отладчик? – hvd
_Seriously_, отладчик может изменить поведение кода таким образом? Как и в случае, если я расширяю «представление результатов» на «читателе», он запускает цикл while (reader.Read()) {...} '? –