Session.GetObjectsToDelete(Boolean) Method
Returns a collection of persistent objects that will be deleted when the current transaction is committed, including objects that will be deleted 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 deleted in the parent transaction(s); otherwise, false. |
Returns
Type | Description |
---|---|
ICollection | The collection of persistent objects that will be deleted when the current transaction is committed. |
Remarks
The GetObjectsToDelete method returns a collection of persistent objects that will be deleted only when the current transaction is committed. It is overridden in the NestedUnitOfWork class to return persistent objects that will be deleted in the parent transaction(s), optionally. For general information on deleting persistent objects, see Deleting 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