Descend

ExtObjectContainer#descend method allows you to navigate from a persistent object to it's members without activating or instantiating intermediate objects.

UtilityExample.vb: TestDescend
01Public Shared Sub TestDescend() 02 StoreSensorPanel() 03 Dim configuration As IConfiguration = Db4oFactory.NewConfiguration() 04 configuration.ActivationDepth(1) 05 Dim db As IObjectContainer = Db4oFactory.OpenFile(configuration, Db4oFileName) 06 Try 07 System.Console.WriteLine("Object container activation depth = 1") 08 Dim result As IObjectSet = db.Get(New SensorPanel(1)) 09 Dim spParent As SensorPanel = CType(result(0), SensorPanel) 10 Dim fields() As String = {"_next", "_next", "_next", "_next", "_next"} 11 Dim spDescend As SensorPanel = CType(db.Ext().Descend(CType(spParent, Object), fields), Object) 12 db.Ext().Activate(spDescend, 5) 13 System.Console.WriteLine(spDescend) 14 Finally 15 db.Close() 16 End Try 17 End Sub

Navigating in this way can save you resources on activating only the objects you really need.