Diccionario <string, object> -to-BsonDocument la conversión omitiendo el campo _t

Estoy usandoToBsonDocument método de extensión deMongoDB.Bson para convertir este Diccionario:

        var dictionary = new Dictionary<string, object> {{"person", new Dictionary<string, object> {{"name", "John"}}}};
        var document = dictionary.ToBsonDocument();

Y aquí está el documento resultante:

  { "person" : 
      { "_t" : "System.Collections.Generic.Dictionary`2[System.String,System.Object]", 
        "_v" : { "name" : "John" } } }

¿Hay alguna manera de deshacerse de estas cosas _t / _v? Me gustaría que el documento resultante se vea así:

  { "person" : { "name" : "John" } }

UPD: He encontrado el código en DictionaryGenericSerializer:

if (nominalType == typeof(object))
{
    var actualType = value.GetType();
    bsonWriter.WriteStartDocument();
    bsonWriter.WriteString("_t", TypeNameDiscriminator.GetDiscriminator(actualType));
    bsonWriter.WriteName("_v");
    Serialize(bsonWriter, actualType, value, options); // recursive call replacing nominalType with actualType
    bsonWriter.WriteEndDocument();
    return;
}

Entonces, parece que no hay demasiadas opciones con este serializador cuando el tipo de valor esobject.

Respuestas a la pregunta(4)

Su respuesta a la pregunta