Session.GetObjectsToSave(Boolean) Method
Returns a collection of persistent objects that will be saved when the current transaction is committed, including objects that will be saved in the parent transaction(s), optionally.
Namespace: DevExpress.Xpo
Assembly: DevExpress.Xpo.v24.2.dll
Declaration
Parameters
Name | Type | Description |
---|---|---|
includeParent | Boolean | true, to include persistent objects that will be saved in the parent transaction(s); otherwise, false. |
Returns
Type | Description |
---|---|
ICollection | The collection of persistent objects that will be saved when the current transaction is committed. |
Remarks
The GetObjectsToSave method returns a collection of persistent objects that will be saved only when the current transaction is committed. It is overridden in the NestedUnitOfWork class to return persistent objects that will be saved in the parent transaction(s), optionally. For general information on saving persistent objects, see Save Persistent Objects.
Objects that have Deferred Deletion enabled are actually modified upon deletion. So, they appear in the collection returned by the Session.GetObjectsToSave method, not in the collection returned by the Session.GetObjectsToDelete method.
The Session.GetObjectsToSave and Session.GetObjectsToDelete methods do not create new collection instances and fill them with objects when called. Instead, these methods return references to internal collections whose content changes throughout the life cycle of a Session.
ICollection changedObjects = myUnitOfWork.GetObjectsToSave();
int count = changedObject.Count; // 'count' is an arbitrary number
myUnitOfWork.CommitChanges();
count = changedObject.Count; // here, 'count' always equals zero