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

Stockage d'un dictionnaire avec des valeurs polymorphes dans mongoDB à l'aide de C #

Le pilote doit connaître tous les discriminateurs pour désérialiser n'importe quelle classe sans erreur. Il y a deux façons de le faire :

1. Enregistrez-le globalement au démarrage de l'application :

BsonClassMap.RegisterClassMap<Type1>();
BsonClassMap.RegisterClassMap<Type2>();

2. Ou via les BsonKnownTypes attribut :

[BsonKnownTypes(typeof(Type1), typeof(Type2)]
 public class BaseType
 {

 }

Si vous utilisez #1 ou #2, votre désérialisation fonctionnera correctement.