MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Désérialiser l'objet en tant qu'interface avec le pilote MongoDB C #

Eh bien, j'ai rencontré beaucoup de problèmes en essayant d'obtenir cette réponse.

Tout d'abord, le pilote MongoDB C# a quelques problèmes lors de la désérialisation des interfaces , comme l'a dit Craig Wilson dans les commentaires de cette question, et comme décrit dans la page du problème .

L'implémentation sécurisée pour ce problème, comme je l'ai déjà dit, peut vraiment être un sérialiseur BSON personnalisé ou un mappage de classe spécifique, en utilisant BsonClassMap.RegisterClassMap .

J'ai donc implémenté la carte de classe et le problème a persisté.

Dans l'attente du problème, j'ai trouvé cette exception est liée à un autre problème du pilote :le problème lors de la désérialisation des structs .

J'ai restauré le projet à l'état initial (sans carte de classes ni sérialiseurs personnalisés) et changé le type de structure en type de classe, et cela a fonctionné .

En résumé, cette erreur d'exception est liée à la désérialisation des structures, et non à la désérialisation des interfaces.

Quoi qu'il en soit, c'est un vrai problème, et le deuxième problème doit être considéré plus comme un bogue qu'une amélioration, comme le premier.

Vous pouvez trouver les problèmes sur ces liens :