non sono se lo utilizzero mai, oggi ho fatto qualche piccolo test con questo open source object database engine
http://www.db4o.com/
Esempio di codice
using System;
using System.Collections.Generic;
using Db4objects.Db4o;
namespace testdb4O
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("START TEST");
Person p = new Person("John", 35);
Person p2 = new Person("David", 3);
IObjectContainer db = Db4oFactory.OpenFile("db4o_test.yap");
//Inserisco
db.Store(p);
db.Store(p2);
//Elenco
Person q = new Person(null, 0);
IObjectSet list = db.QueryByExample(q);
foreach (Person person in list)
{
Console.WriteLine(person._name + " " + person._age);
person._age = person._age + 10;
db.Store(person);
}
foreach (Person person in db.QueryByExample(q))
{
Console.WriteLine(person._name + " " + person._age);
person._age = person._age + 10;
db.Store(person);
}
db.Close();
db.Dispose();
Console.WriteLine("END TEST");
Console.ReadLine();
}
}
class Person
{
// private stuff
public string _name;
public int _age;
// constructor
public Person(string name, int age)
{
this._name = name;
this._age = age;
}
}
}