/ / Como obter MongoCursorEnumerator <T> com a última versão do driver C # (1.8.2 +)? - c #, mongodb, ienumerable, mongodb-.net-driver, mongodb-query

Como obter o MongoCursorEnumerator <T> com o driver da versão mais recente C # (1.8.2+)? - c #, mongodb, ienumerable, mongodb-.net-driver, mongodb-query

Tendo alguns problemas com o código que costumava funcionar versão pré-1.8.2 do C # MongoDB Driver:

Com versões anteriores do driver, eu poderia fazer algo como:

private MongoCursorEnumerator<T> InitializeCursor()
{
var cursor = _queue.Find(Query.GT("_id", _lastId));
return MongoCursorEnumerator<T>cursor.GetEnumerator();
}

Agora, esse código gera exceção:

Não é possível o tipo de caso "d__0" para digitar "MongoDB.Driver.MongoCursorEnumerator`1".

Precisa do elenco para o MongoCursorEnumerator porquetem a propriedade IsDead que é usada posteriormente no código para reinicializar o cursor. De alguma forma, a conversão para o MongoCursorEnumerator não funciona mais. Alguém sabe por que isso está acontecendo ou qual seria a possível solução para isso?

Respostas:

5 para resposta № 1

A partir da V1.8 você tem que usar o construtor do MongoCursorEnumerator.

return new MongoCursorEnumerator<T>(cursor);

Infelizmente não há dica na documentação - você tem que olhar o código fonte: - /