DbDataReaders が実際にどのように機能するかを知っている人はいますか? 例として SqlDataReader を使用できます。
次のことをすると
cmd.CommandText = "SELECT * FROM Customers";
var rdr = cmd.ExecuteReader();
while(rdr.Read())
{
//Do something
}
データ リーダーはすべての行をメモリ内に持っていますか、それとも 1 つだけを取得し、Read が呼び出されると、データベースに移動して次の行を取得しますか? 1 つだけメモリに取り込むとパフォーマンスが低下するようですが、すべてを取り込むと ExecuteReader の呼び出しに時間がかかります。
私はオブジェクトの消費者であることを知っており、彼らがそれをどのように実装するかは問題ではありませんが、私はただ興味があります.Reflectorが何をしているのかを知るために、Reflectorで数時間過ごすことになると思います.と思ったので、詳しい方にお聞きしたいと思います。
誰かがアイデアを持っているかどうか、私はただ興味があります。