Kierowca powinien wiedzieć o wszystkich dyskryminatorach, aby deserializować dowolną klasę bez błędów. Można to zrobić na dwa sposoby:
1. Zarejestruj go globalnie podczas uruchamiania aplikacji:
BsonClassMap.RegisterClassMap<Type1>();
BsonClassMap.RegisterClassMap<Type2>();
2. Albo przez BsonKnownTypes atrybut:
[BsonKnownTypes(typeof(Type1), typeof(Type2)]
public class BaseType
{
}
Jeśli użyjesz #1 lub #2, deserializacja będzie działać poprawnie.