Това е неочаквано поведение в ExecuteReader()
- най-вероятно бъг. Дълбоко в ExecuteReader() възниква някаква произволна грешка, най-вероятно мрежово изчакване, връзката е затворена и след това затворен SqlDataReader се връща, сякаш нищо не се е случило. Нищо чудно последващо извикване на HasRows дава изключение.