El controlador debe conocer todos los discriminadores para deserializar cualquier clase sin errores. Hay dos formas de hacerlo:
1. Regístrelo globalmente durante el inicio de la aplicación:
BsonClassMap.RegisterClassMap<Type1>();
BsonClassMap.RegisterClassMap<Type2>();
2. O a través del BsonKnownTypes atributo:
[BsonKnownTypes(typeof(Type1), typeof(Type2)]
public class BaseType
{
}
Si utilizará el n.° 1 o el n.° 2, su deserialización funcionará correctamente.