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

context BsonDeserializationContext

The deserialization context.

args BsonDeserializationArgs

The 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

context BsonSerializationContext

The serialization context.

args BsonSerializationArgs

The serialization args.

value JsonObject

The value.