ExecuteReader(), возвращающий OracleDataReader, предназначен для последовательного чтения результатов запроса. В процессе работы он не знает сколько ещё данных будет. Более того, данные в Reader могут начать поступать, когда ещё не закончено выполнение запроса на сервере.
Чтобы получить количество строк нужно либо в цикле прочитать все записи из OracleDataReader. Либо сформировать запрос типа: "Select count(*) from " + command.CommandText. И для него вызвать command.ExecuteScalar(). В результате вы получите количество строк без их передачи на клиент.