Search code examples
db4o

db4o: how can we get the data for only one object?


How can DB4o users get back the data for only one object?

(This is akin to getting the data for only one row of a traditional relational database table.)

With DB4o, I only know how to get the data back for a class of objects but not simply one unique object instance.


Solution

  • just query objects and get first item out of the result (the same like in relational database)

    to get it by Guid ID:

    using (IObjectContainer session = this.GetNewSession())
    {
        Dummy result = (from Dummy item in session
                        where item.Id == Guid.Parse("....")
                        select item).FirstOrDefault()
    }
    

    the result will be either null if item doesn't exist or the object found

    other option is to get it directly by internal ID such as (or even UUID):

    long id = ....;
    using (IObjectContainer session = this.GetNewSession())
    {
        Dummy result = (Dummy)session.Ext().GetByID(id);
    }