2013-11-09 2 views
4

C# MongoDB를 드라이버의 이전 1.8.2 버전 작동하는 데 사용되는 코드 몇 가지 문제 갖는 : 이제 MongoCursorEnumerator <T>을 최신 버전의 C# (1.8.2 이상) 드라이버로 가져 오는 방법?

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

,이 코드 : 드라이버의 이전 버전으로

는, 내가 좋아하는 뭔가를 할 수 예외를 생성합니다 :

"MongoDB.Driver.MongoCursorEnumerator`1"을 입력 할 수없는 "d__0"유형이 없습니다.

커서를 다시 초기화하는 코드에서 나중에 사용되는 IsDead 속성이 있으므로 MongoCursorEnumerator에 대한 캐스트가 필요합니다. 어떻게 든 MongoCursorEnumerator에 대한 상향 변환이 더 이상 작동하지 않습니다. 왜 이런 일이 일어나고 있는지 또는이 문제를 해결할 수있는 방법을 알고 계신가요?

답변

5

V1.8부터 MongoCursorEnumerator의 생성자를 사용해야합니다.

return new MongoCursorEnumerator<T>(cursor); 

불행하게도 문서에 힌트가 없다 - 당신은 소스 코드를보고있다 : -/