使用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()
答案 0 :(得分:1)
DataReader是只读的,来自数据库的仅向前数据流。你这样做的方式可能是最快的。
使用DataReader可以提高应用程序性能 一旦可用就检索数据,而不是等待 要返回的查询的整个结果,以及(默认情况下) 在内存中一次只存储一行,从而减少了系统开销。 Retrieving Data Using the DataReader