sql >> Base de Datos >  >> NoSQL >> MongoDB

Deserialice el objeto como una interfaz con MongoDB C# Driver

Bueno, he encontrado muchos problemas al tratar de obtener esta respuesta.

En primer lugar, el controlador MongoDB C# tiene algunos problemas al deserializar las interfaces. , como dijo Craig Wilson en los comentarios de esta pregunta, y como se describe en la página del problema .

La implementación segura para este problema, como dije antes, realmente puede ser un serializador BSON personalizado o un mapa de clase específico, usando BsonClassMap.RegisterClassMap .

Entonces, implementé el mapa de clases y el problema persistió.

Mirando hacia adelante con el problema, encontré que la excepción está relacionada con otro problema del controlador:el problema al deserializar structs .

Regresé el proyecto al estado inicial (sin mapa de clases ni serializadores personalizados) y cambié el tipo de estructura a tipo de clase, y funcionó .

En resumen, este error de excepción está relacionado con la deserialización de estructuras, no con la deserialización de interfaces.

De todos modos, es un problema real, y el segundo problema debe considerarse más un error que una mejora, como lo es el primer problema.

Puede encontrar los problemas en estos enlaces: