Sql server ADO.NET中的SQL Server查询仅返回一个结果

Sql server ADO.NET中的SQL Server查询仅返回一个结果,sql-server,asp.net-mvc,ado.net,Sql Server,Asp.net Mvc,Ado.net,我正在用ado.net学习asp.net mvc,我的repository类中有这个方法 public IEnumerable<int?> GetAllUniqueYears() { using (IDbConnection dbConnection = dbConnectionFactory.CreateConnection()) { using (IDbCommand cmd = dbConnection.CreateCommand())

我正在用ado.net学习asp.net mvc,我的repository类中有这个方法

public IEnumerable<int?> GetAllUniqueYears()
{
    using (IDbConnection dbConnection = dbConnectionFactory.CreateConnection())
    {
        using (IDbCommand cmd = dbConnection.CreateCommand())
        {
            cmd.CommandText = "SELECT DISTINCT YEAR(DateAdded) As Year FROM GeoCounters";
            cmd.CommandTimeout = 1000;

            using (IDataReader reader = cmd.ExecuteReader())
            {
                if (!reader.Read())
                {
                    yield return null;
                }
                else
                {
                    yield return (int)reader["Year"];
                }
            }
        }
    }
}
你需要一个循环

using (IDataReader reader = cmd.ExecuteReader())
{
   while (reader.Read())
   {
      yield return (int)reader["Year"];
   }
}
using (IDataReader reader = cmd.ExecuteReader())
{
   while (reader.Read())
   {
      yield return (int)reader["Year"];
   }
}