Магазин C # BigInteger в MongoDb - PullRequest
0 голосов
/ 31 января 2019

Как правильно хранить BigInteger в MongoDb?Единственное решение, которое я нашел, - написать собственный сериализатор для типа MongoDb Decimal128:

public class BigIntegerSerializer : SerializerBase<BigInteger>
{
    public override BigInteger Deserialize(BsonDeserializationContext context, BsonDeserializationArgs args)
    {
        var val = context.Reader.ReadDecimal128();
        return BigInteger.Parse(val.ToString());
    }

    public override void Serialize(BsonSerializationContext context, BsonSerializationArgs args, BigInteger value)
    {
        context.Writer.WriteDecimal128(Decimal128.Parse(value.ToString()));
    }
}
...