Delete Propagation After Removing an Object Version
You can explicitly delete an object version using the Delete method. Similarly, the repository engine can automatically delete an object version by performing a propagated deletion operation on it. In either case, the object version is deleted only if it satisfies the basic requirements for object-version deletion.
If an object version you are trying explicitly to delete does not satisfy these requirements, the Delete method returns an error. If an object version that the repository engine is trying to delete through propagation does not satisfy these requirements, the repository engine does not return an error. Instead, it continues with the delete propagation operation. That is, the repository engine continues to consider performing propagated deletion operations on other object versions.
Whether an explicit deletion or a propagated deletion is attempted, the repository engine deletes the object version and any of its relationships if the object version satisfies the requirements for object-version deletion.
Note Some of these deleted relationships can be delete-propagating origin relationships. The repository engine considers performing one or more propagated deletions for each. For more information, see Delete Propagation After Removing an Origin Relationship.