xpo-devexpress-dot-xpo-dot-explicitunitofwork.md
Marks the starting point of a database level transaction.
Namespace : DevExpress.Xpo
Assembly : DevExpress.Xpo.v25.2.dll
NuGet Package : DevExpress.Xpo
public override void BeginTransaction()
Public Overrides Sub BeginTransaction
The BeginTransaction method represents the point at which the data referenced by an explicit unit of work is consistent. All data modifications made after calling the BeginTransaction method can be rolled back. This allows data to be returned to this known state of consistency.
An explicit unit of work automatically calls the BeginTransaction method when a persistent object is about to be loaded from a database for the first time. You can manually call this method whenever you see it fit.
Once started, a database level transaction lasts until one of the following occurs:
Calling the BeginTransaction method raises the Session.BeforeBeginTransaction event. Once a database level transaction is started, the Session.AfterBeginTransaction event is raised.
Note
The BeginTransaction method throws an exception if a database level transaction has already been started.
See Also