SubTransaction Class


Sub Transaction Class

Sub-transactions are objects that provide control over a subset of changes in a document.
Inheritance Hierarchy
System Object
Autodesk.Revit.DB SubTransaction

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class SubTransaction : IDisposable

The SubTransaction type exposes the following members.

Constructors
Name Description
Public method SubTransaction Instantiates a sub-transaction object
Top
Properties
Name Description
Public property IsValidObject Specifies whether the .NET object represents a valid Revit entity.
Top
Methods
Name Description
Public method Commit Commits all changes made to the model made during the sub-transaction.
Public method Dispose Releases all resources used by the SubTransaction
Public method Equals Determines whether the specified object is equal to the current object.
(Inherited from Object )
Public method GetHashCode Serves as the default hash function.
(Inherited from Object )
Public method GetStatus Returns the current status of the sub-transaction.
Public method GetType Gets the Type of the current instance.
(Inherited from Object )
Public method HasEnded Determines whether the sub-transaction has ended already.
Public method HasStarted Determines whether the sub-transaction has been started yet.
Public method RollBack Discards all changes made to the model during the sub-transaction.
Public method Start Starts the sub-transaction.
Public method ToString Returns a string that represents the current object.
(Inherited from Object )
Top
Remarks
A Sub-transaction can only be active as a part of an open transaction. Sub-transactions may be nested inside each other, but with the restriction that every nested sub-transaction is entirely contained (opened and closed) in the parent sub-transaction.

If a sub-transaction was started and not committed or rolled back by the time the SubTransaction object is about to be disposed, the destructor will roll back the sub-transaction automatically, thus all changes made to the document during the sub-transaction will be discarded. It is not recommended to rely on this default behavior though. Instead, it is advised to always call either Commit or RollBack explicitly before the sub-transaction object gets disposed. Please note that unless invoked explicitly the actual destruction of an object in managed code might not happen until the object is collected by the garbage collector.

See Also