有誰知道DbDataReaders實際上是如何工作的。我們可以使用SqlDataReader作爲例子。SqlDataReader/DbDataReader實現問題
當你做對以下
cmd.CommandText = "SELECT * FROM Customers";
var rdr = cmd.ExecuteReader();
while(rdr.Read())
{
//Do something
}
是否數據讀取器都行的內存,或者它只是搶一個,然後當讀取被調用時,它進入數據庫,並搶下一個?看起來只是將一個內存帶入內存將會是一個糟糕的表現,但將它們全部引入到ExecuteReader的調用中需要一段時間。
我知道我是對象的消費者,他們如何實現它並不重要,但我只是好奇,我想我可能會花幾個小時在Reflector中獲得一個想法它在做什麼,所以我想我會問一個可能知道的人。
我只是好奇,如果任何人有一個想法。