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 № 1A 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: - /