Cóż, znalazłem wiele problemów, próbując uzyskać tę odpowiedź.
Po pierwsze, sterownik MongoDB C# ma pewne problemy podczas deserializacji interfejsów , jak powiedział Craig Wilson w tym pytaniu, i jak opisano na stronie wydania .
Bezpieczna implementacja tego problemu, tak jak powiedziałem wcześniej, naprawdę może być niestandardowym serializatorem BSON lub konkretną mapą klas, używającą BsonClassMap.RegisterClassMap
.
Zaimplementowałem więc mapę klas i problem nie ustąpił.
Patrząc w przyszłość z problemem, odkryłem że wyjątek jest związany z inną kwestią sterownika:problem podczas deserializacji structs
.
Przywróciłem projekt do stanu początkowego (bez mapy klas lub niestandardowych serializatorów) i zmieniłem typ struktury na typ klasy, i zadziałało .
W CV ten błąd wyjątku jest związany z deserializacją struktur, a nie z deserializacją interfejsów.
W każdym razie jest to prawdziwy problem, a drugi problem należy traktować bardziej jako błąd niż poprawę, tak jak pierwszy.
Możesz znaleźć problemy pod tymi linkami: