sql >> Databasteknik >  >> NoSQL >> MongoDB

Får Json.NET + MongoDB Bson att spela trevligt tillsammans

Ja, du måste explicit implementera konvertering mellan JObject och BsonDocument typ. Du kan implementera din egen omvandlare och använda attribut för att undvika att korsa din C#-typstruktur. Försök:

public class Detail
{
    [BsonSerializer(typeof(DynamicSerializer))]
    public dynamic Value { get; set; }
}

public class DynamicSerializer : SerializerBase<dynamic>
{
    public override dynamic Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
    {
        var myBSONDoc = BsonDocumentSerializer.Instance.Deserialize(context);
        return (dynamic)JObject.Parse(context.ToString());
    }

    public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, dynamic value)
    {
        var bson = MongoDB.Bson.BsonDocument.Parse(value.ToString());
        BsonDocumentSerializer.Instance.Serialize(context, args, bson);
    }
}



  1. Hur man snabbar upp mongo-frågan

  2. MongoDB-transaktioner som spänner över flera webbförfrågningar

  3. Fel vid aktivering av datakryptering med lokal nyckel MONGODB

  4. pymongo:ta bort dubbletter (förminska kartan?)