Marks the starting point of a database level transaction.
The ExplicitBeginTransaction method represents the point at which the data referenced by a session is consistent. All data modifications made after calling the ExplicitBeginTransaction method can be rolled back. This allows data to be returned to this known state of consistency.
Once started, a database level transaction lasts until one of the following occurs:
- The modifications are committed via the Session.ExplicitCommitTransaction method.
- The modifications are discarded via the Session.ExplicitRollbackTransaction method or by disposing of Session.
In a session, you need to use the ExplicitBeginTransaction method, in combination with the Session.BeginTrackingChanges method, that allows for tracking changes made to persistent objects within the opened database level transaction. UnitOfWork provides this capability out of the box, so to simplify tracking changes, you may consider using. In addition, you can simplify the management of database level transaction, by means of ExplicitUnitOfWork.
The ExplicitBeginTransaction method throws an exception, if a database level transaction has already been started.