有谁知道DbDataReaders实际上是如何工作的。我们可以使用SqlDataReader作为例子。SqlDataReader/DbDataReader实现问题
当你做对以下
cmd.CommandText = "SELECT * FROM Customers";
var rdr = cmd.ExecuteReader();
while(rdr.Read())
{
//Do something
}
是否数据读取器都行的内存,或者它只是抢一个,然后当读取被调用时,它进入数据库,并抢下一个?看起来只是将一个内存带入内存将会是一个糟糕的表现,但将它们全部引入到ExecuteReader的调用中需要一段时间。
我知道我是对象的消费者,他们如何实现它并不重要,但我只是好奇,我想我可能会花几个小时在Reflector中获得一个想法它在做什么,所以我想我会问一个可能知道的人。
我只是好奇,如果任何人有一个想法。