ExtObjectContainer#isStored helps you to define if the object is stored in the database. The following example shows how to use it:
UtilityExample.cs: CheckStored public static void CheckStored() { // create a linked list with length 10 SensorPanel list = new SensorPanel().CreateList(10); File.Delete(Db4oFileName); IObjectContainer db = Db4oFactory.OpenFile(Db4oFileName); try { // store all elements with one statement, since all elements are new db.Store(list); Object sensor = (Object)list.Sensor; SensorPanel sp5 = list.Next.Next.Next.Next; System.Console.WriteLine("Root element "+list+" isStored: " + db.Ext().IsStored(list)); System.Console.WriteLine("Simple type "+sensor+" isStored: " + db.Ext().IsStored(sensor)); System.Console.WriteLine("Descend element "+sp5+" isStored: " + db.Ext().IsStored(sp5)); db.Delete(list); System.Console.WriteLine("Root element "+list+" isStored: " + db.Ext().IsStored(list)); } finally { db.Close(); } }
UtilityExample.vb: CheckStored Public Shared Sub CheckStored() ' create a linked list with length 10 Dim list As SensorPanel = New SensorPanel().CreateList(10) File.Delete(Db4oFileName) Dim db As IObjectContainer = Db4oFactory.OpenFile(Db4oFileName) Try ' store all elements with one statement, ' since all elements are new db.Store(list) Dim sensor As Object = CType(list.Sensor, Object) Dim sp5 As SensorPanel = list.NextSensor.NextSensor. _ NextSensor.NextSensor System.Console.WriteLine("Root element " + list.ToString() _ + " isStored: " + db.Ext().IsStored(list).ToString()) System.Console.WriteLine("Simple type " + sensor.ToString() _ + " isStored: " + db.Ext().IsStored(sensor).ToString()) System.Console.WriteLine("Descend element " + sp5.ToString() _ + " isStored: " + db.Ext().IsStored(sp5).ToString()) db.Delete(list) System.Console.WriteLine("Root element " + list.ToString() _ + " isStored: " + db.Ext().IsStored(list).ToString()) Finally db.Close() End Try End Sub
Download example code: