Przewijanie kursora DataReader

Jak mogę przewinąć kursor DataReadera na początek?

Z jednym wynikiem DataReadera muszę uruchomić dwawhile pętla, ale muszą być od początku. Są to dwie iteracje w jednym zestawie wyników uruchamiającym zapytanie raz.

Przykład:

dr = command.ExecuteReader(cmd);

while (dr.Read()) { 
    // do some...
}

// rewind cursor here

while (dr.Read()) {
    // do another things...
}

Zajrzałem do dokumentów DataReader i nic nie znalazłem, więc jeśli nie jest to możliwe z DataReaderem, mogę zmienić klasę na taką, która pasuje do tego celu.

questionAnswers(1)

yourAnswerToTheQuestion