Bene, ho riscontrato molti problemi durante il tentativo di ottenere questa risposta.
Innanzitutto, il driver C# MongoDB presenta alcuni problemi durante la deserializzazione delle interfacce , come affermato da Craig Wilson nei commenti di questa domanda e come descritto nella la pagina del problema .
L'implementazione sicura per questo problema, come ho detto prima, potrebbe davvero essere un serializzatore BSON personalizzato o una mappa di classi specifica, utilizzando BsonClassMap.RegisterClassMap
.
Quindi, ho implementato la mappa delle classi e il problema persiste.
Guardando avanti con il problema, ho riscontrato quella eccezione è correlata a un altro problema del driver:il problema durante la deserializzazione di structs
.
Ho riportato il progetto allo stato iniziale (senza mappa delle classi o serializzatori personalizzati) e cambiato il tipo di struttura in tipo di classe, e ha funzionato .
In sintesi, questo errore di eccezione è correlato alla deserializzazione degli struct, non alla deserializzazione delle interfacce.
Ad ogni modo, è un problema reale e il secondo problema deve essere considerato più un bug che un miglioramento, come lo è il primo problema.
Puoi trovare i problemi a questi link: