The PersistenceManager

This class is the main interface to the NDO framework. You need it for actions like

·      making objects persistent,

·      deleting objects and object trees,

·      querying objects in the database.

The original object state of changed objects is retained in a cache. If the PersistenceManager function Abort() is called, all changes are undone.

The PersistenceManager supports local transactions. Transactions always complete by calling the Save() function.

For distributed transactions of the .NET Enterprise Services, the XxxTransactionRoot classes can be used to force the desired transaction behavior. Transactions have to be saved and aborted using the XxxTransactionRoot objects.

The PersistenceManager can exist in several instances. The instances encapsulate their own transactions that are not visible to each other. That way several instances of a certain persistent object can exist within an AppDomain.

Objects can only be managed by the PersistenceManager which created them, either with MakePersistent or with a query.

You can find samples for the use of the PersistenceManager in the tutorial.