Click or drag to resize

OptimizedPersistable Properties

The OptimizedPersistable type exposes the following members.

Properties
  NameDescription
Public propertyAllowOtherTypesOnSamePage
Objects can be stored more efficiently if all object types on the page share the same type. By default mixed types are allowed. Override this to return false for types that should not share pages with other types.
Public propertyCache
By default, the an object cache is determined by a SessionBase constructor parameter but certain types of objects may be re opened more frequently than others, for such types override this to return a value. Caching objects this way can cause out of date object references to stay active due to lacking code to invalidate a cached object when referenced objects are replaced. We will add this automatic invalidation as soon as possible but for now use caution when caching objects. Caching objects that does not strongly reference other objects is OK to do.
Public propertyDatabaseNumber
Gets the database number of this object.
Public propertyFieldsLoaded
Gets the field members load state. By default, all members are loaded when a persistent object is opened but if an overrode of LazyLoadFields returns true then the object members are loaded by calling [!:OptimizedPersistable.LoadFields]
Public propertyFlushIfPageFull
By default we flush (write) any updated page we find when looking for an object placement page and the page is considered full (depends on how many objects we permit/page)
Public propertyId
Gets the id of this object. The id is structured as Oid
Public propertyIsPersistent
Gets the persistent state of an object. An object is considered persistent when it has an Oid, that is the Id is not 0
Public propertyIsUpdated
Gets the updated state of the object
Public propertyLazyLoadFields
By default all fields are loaded when opening a persistent object but an option is provided to load members on demand (lazy loading).
Public propertyMaxNumberOfDatabases
Possibly restrict instances of to a single Database. By default this property is UInt32.MaxValue but classes like BTreeSetOidShort, BTreeMapShortOid ... override this property to return 1 since short references are restricted to a single Database.
Public propertyObjectsPerPage
A default for number of objects per database page used when persisting objects without an explicit Placement object or if persisted using Persist(SessionBase, IOptimizedPersistable, Boolean, Boolean) This happens when objects are persisted by reachability from a persistent object. All objects reachable from a persistent object are automatically made persistent.
Public propertyOid
Gets the object identifier represented as an Oid.
Public propertyOidShort
Gets the OidShort part of the object Oid
Public propertyPageNumber
Gets the page number part of the object Oid (Id)
Public propertyPagesPerDatabase
A default for number of objects per database page used when persisting objects without an explicit Placement object or if persisted using Persist(SessionBase, IOptimizedPersistable, Boolean, Boolean) This happens when objects are persisted by reachability from a persistent object. All objects reachable from a persistent object are automatically made persistent.
Public propertyPlacementDatabaseNumber
Gets the Database Id number to use when placing (persisting) an instance of this class when no other placement directive has been given.
Public propertyRemovedFromIndices
true if call to [!:Update(bool)] or UpdateObject(IOptimizedPersistable, Boolean, Boolean) caused this object to be removed from possible indices
Public propertyShortId
Gets the short id of this object. The id is structured as OidShort
Public propertySlotNumber
Gets the page number from the object identifier
Top
See Also