Как заменить стандартный json сериализатор в YugaByteCassandraCSharpDriver? - PullRequest
0 голосов
/ 24 февраля 2020

Есть ли способ заменить json сериализатор по умолчанию?

Я реализую сериализатор, который преобразует json в объекты, поэтому я могу использовать классы Custome в моей модели вместо строки

    public class JsonSerializer<T> : TypeSerializer<T>
    {
        public override ColumnTypeCode CqlType => ColumnTypeCode.Json;
        public override T Deserialize(ushort protocolVersion, byte[] buffer, int offset, int length, IColumnInfo typeInfo)
        {
            string json = PrimitiveStringSerializer.Deserialize(protocolVersion, buffer, offset ,length, typeInfo);
            return (T)json.FromDbJsonString();
        }

        public override byte[] Serialize(ushort protocolVersion, T value)
        {
            string json = value.ToDbJsonString();
            return PrimitiveStringSerializer.Serialize(protocolVersion, json);
        }
    }

1 Ответ

0 голосов
/ 27 февраля 2020

Это возможно только с использованием fork.

Если это приемлемо для вас, просто поместите ваш сериализатор здесь: { ColumnTypeCode.Json, TypeSerializer.PrimitiveJsonSerializer } в src / Cassandra / Serialization / Serializer.cs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...