Idatareader列表

时间:2012-05-10 19:01:45

标签: linq c#-3.0 idatareader

使用Linq有更有效的方法吗?

 IDataReader reader = qSeats.ExecuteReader();
            var seats = new List<int>();
            using (IDataReader reader = qSeats.ExecuteReader())
            {
                while (reader.Read())
                {
                    seats.Add(Convert.ToInt32(reader.GetInt32(0)));
                }
            }

我看到了:How do I load data to a list from a dataReader? 然而,这与我上面的代码相同,似乎可能有更快的方法。 比如使用Linq或seat.AddRange()或某种ToList()

1 个答案:

答案 0 :(得分:1)

DataReader是只读的,来自数据库的仅向前数据流。你这样做的方式可能是最快的。

  

使用DataReader可以提高应用程序性能   一旦可用就检索数据,而不是等待   要返回的查询的整个结果,以及(默认情况下)   在内存中一次只存储一行,从而减少了系统开销。   Retrieving Data Using the DataReader