Class JsonObjectBsonSerializer
- Namespace
- Cratis.Arc.MongoDB
- Assembly
- Cratis.Arc.MongoDB.dll
MongoDB BSON serializer for JsonObject.
public class JsonObjectBsonSerializer : SerializerBase<JsonObject>, IBsonSerializer<JsonObject>, IBsonSerializer
- Inheritance
-
SerializerBase<JsonObject>JsonObjectBsonSerializer
- Implements
-
IBsonSerializer<JsonObject>IBsonSerializer
- Inherited Members
-
SerializerBase<JsonObject>.GetHashCode()SerializerBase<JsonObject>.CreateCannotBeDeserializedException()SerializerBase<JsonObject>.CreateCannotBeSerializedException()SerializerBase<JsonObject>.CreateCannotDeserializeFromBsonTypeException(BsonType)SerializerBase<JsonObject>.EnsureBsonTypeEquals(IBsonReader, BsonType)SerializerBase<JsonObject>.ValueType
- Extension Methods
Remarks
Read models persisted through Arc.MongoDB are serialized with the MongoDB BSON serializers. The driver has no built-in support for JsonObject, so without this it falls back to dictionary serialization and fails on read because JsonObject has no parameterless constructor. This bridges BSON and JsonObject by round-tripping through a MongoDB.Bson.BsonDocument.
Constructors
JsonObjectBsonSerializer()
public JsonObjectBsonSerializer()
Methods
Deserialize(BsonDeserializationContext, BsonDeserializationArgs)
Deserializes a value.
public override JsonObject Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
Parameters
contextBsonDeserializationContextThe deserialization context.
argsBsonDeserializationArgsThe deserialization args.
Returns
- JsonObject
A deserialized value.
Serialize(BsonSerializationContext, BsonSerializationArgs, JsonObject)
Serializes a value.
public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, JsonObject value)
Parameters
contextBsonSerializationContextThe serialization context.
argsBsonSerializationArgsThe serialization args.
valueJsonObjectThe value.