DataReader cursor rewind

Como posso rebobinar um cursor de um DataReader para o começo?

Com um resultado de DataReader, preciso executar doiswhile loop, mas esses tem que ser do começo. São duas iterações em um conjunto de resultados que executam uma consulta uma vez.

Exemplo:

dr = command.ExecuteReader(cmd);

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

// rewind cursor here

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

Eu olhei para os documentos do DataReader e não encontrei nada, então se não puder ser possível com o DataReader, eu posso mudar a classe para uma que se encaixa nessa finalidade.

questionAnswers(1)

yourAnswerToTheQuestion