Una solución orientada a objetos

Lo bueno de este motor, es que facilita la persistencia de los objetos, o entidades de negocios, haciendolo de una manera mas nativa, o mejor dicho, lo mas nativa posible, ahorrandonos tiempo y complicaciones en la Capa de Acceso a Datos. O sea que si no queremos enfrentarnos con un NHibernate, Ojb.Net, o un Gentle.Net, esta prodría llegar a ser una buena opción.
Otra cosa que tiene de bueno, es que ya sea para Java o .Net, funciona añadiendo al proyecto un Jar o una Dll respectivamente al proyecto y eso es todo lo que necesitamos :D Ademas, la Base de Datos que utilices es un solo archivo ".yap"
Tambien podemos descargar de la Pagina Oficial el Object Manager, que esta desarrollado en Java y nos permite administrar los objetos de Nuestra Base de Datos.
DB4O se puede utilizar con .Net, Mono y Java :D y esta por la version 5.0 - Download Center -
Tenés dos formas de hacer consultas, con QBE (Query-by-Example) y con S.O.D.A segun dicen, esta última parecer ser más flexible.
En este ejemplo se utiliza QBE:
public static void Main(string[] args)
{
ObjectContainer objectContainer = Db4o.OpenFile(DATABASE_FILE);
objectContainer.Set(new Pilot("Michael Schumacher", 101));
objectContainer.Set(new Pilot("Rubens Barrichello", 99));
objectContainer.Commit();
ObjectSet objectSet = objectContainer.Get(new Pilot(null, 101));
while (objectSet.HasNext())
{
Console.WriteLine(objectSet.Next());
}
Console.ReadLine();
objectContainer.Close();
}
hola Dario!!!
Somos unas chicas de la Universidad Central de Venezuela que estamos trabajando con db40 5.2, pero se nos han presentado varias dudas: Còmo se trabaja con conjuntos en db40?, en FastObjects se usa el SetOfObject pero aqui no sabemos. Ademas utilizamos el ObjectManager, sabemos que a traves de él podemos visualizar los datos y modificar pero no sabemos si es posible insertar y eliminar datos directamente desde alli... Esperamos tu pronta ayuda. Gracias