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: