Leggei bene la documentazione.
Non devi utilizzare un reader quando esegui una query con ExecuteScalar ma semplicemente fare una assegnazione a un oggetto.