MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Armazenando um dicionário com valores polimórficos no mongoDB usando C#


O driver deve conhecer todos os discriminadores para desserializar qualquer classe sem erros. Existem duas maneiras de fazê-lo:

1. Registre-o globalmente durante o início do aplicativo:
BsonClassMap.RegisterClassMap<Type1>();
BsonClassMap.RegisterClassMap<Type2>();

2.Ou através dos BsonKnownTypes atributo:
[BsonKnownTypes(typeof(Type1), typeof(Type2)]
 public class BaseType
 {

 }

Se você usar #1 ou #2, sua desserialização funcionará corretamente.