Si solo busca devolver un valor de una consulta, entonces EjecutarEscalar es lo que deberías estar usando, . ExecuteReader es mejor para solo avance lecturas de varios registros, por lo que es excesivo para su situación
Eche un vistazo aquí para ver una comparación ¿Cuál es la diferencia entre ExecuteScalar, ExecuteReader y ExecuteNonQuery?