Skip to content

Instantly share code, notes, and snippets.

@bblanchon
Created February 2, 2016 10:04
Show Gist options
  • Save bblanchon/0216b31cd9caa71c49ee to your computer and use it in GitHub Desktop.
Save bblanchon/0216b31cd9caa71c49ee to your computer and use it in GitHub Desktop.
How to use quasardb in a C# program with JSON.net
using Quasardb;
using System.IO;
using System;
using Newtonsoft.Json;
using Newtonsoft.Json.Bson;
namespace QuasardbDemoWithNewtonSoftJson
{
class Program
{
[Serializable]
class MoveInfo
{
public string Name { get; set; }
public int Year { get; set; }
};
class Serializer
{
public Serializer()
{
_js = new JsonSerializer();
}
public byte[] Serialize<T>(T data)
{
var memoryStream = new MemoryStream();
var writer = new BsonWriter(memoryStream);
_js.Serialize(writer, data);
return memoryStream.ToArray();
}
public T Deserialize<T>(byte[] data)
{
var memoryStream = new MemoryStream(data);
var reader = new BsonReader(memoryStream);
return _js.Deserialize<T> reader);
}
private JsonSerializer _js;
}
static void Main(string[] args)
{
var serializer = new Serializer();
var qdb = new QdbCluster("qdb://127.0.0.1:2836");
qdb.Blob("movie001").Put(
serializer.Serialize(new MoveInfo
{
Name = "Life Of Brian",
Year = 1980
}));
var movie = serializer.Deserialize<MoveInfo>(
qdb.Blob("movie001").GetAndRemove());
Console.WriteLine("Name = {0}", movie.Name);
Console.WriteLine("Yeay = {0}", movie.Year);
Console.ReadKey();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment