Yah, saya menemukan banyak masalah ketika mencoba mendapatkan jawaban ini.
Pertama-tama, Driver MongoDB C#, memang memiliki beberapa masalah saat melakukan deserialisasi antarmuka , seperti yang dikatakan oleh Craig Wilson dalam komentar pertanyaan ini, dan seperti yang dijelaskan di halaman masalah .
Implementasi aman untuk masalah ini, seperti yang saya katakan sebelumnya, mungkin benar-benar merupakan serializer BSON khusus atau peta kelas tertentu, menggunakan BsonClassMap.RegisterClassMap
.
Jadi, saya telah mengimplementasikan peta kelas dan masalahnya tetap ada.
Melihat ke depan dengan masalah, saya telah menemukan pengecualian itu terkait dengan masalah lain dari driver:masalah saat deserializing structs
.
Saya telah mengembalikan proyek ke keadaan awal (tanpa peta kelas atau serializer khusus) dan mengubah tipe struct menjadi tipe kelas, dan berhasil .
Dalam resume, kesalahan pengecualian ini terkait dengan deserialisasi struct, bukan dengan deserialisasi antarmuka.
Bagaimanapun, ini adalah masalah nyata, dan masalah kedua perlu dianggap lebih sebagai bug daripada perbaikan, seperti masalah pertama.
Anda dapat menemukan masalah di tautan ini: