Der Treiber sollte alle Diskriminatoren kennen, um jede Klasse fehlerfrei zu deserialisieren. Dafür gibt es zwei Möglichkeiten:
1.Registrieren Sie es beim App-Start global:
BsonClassMap.RegisterClassMap<Type1>();
BsonClassMap.RegisterClassMap<Type2>();
2.Oder über BsonKnownTypes Attribut:
[BsonKnownTypes(typeof(Type1), typeof(Type2)]
public class BaseType
{
}
Wenn Sie #1 oder #2 verwenden, wird Ihre Deserialisierung korrekt funktionieren.