.NET Framework 4.5.2+
.NET Framework 4.5.2+
.NET Standard 2.0+

ExplicitUnitOfWork.BeginTransaction() Method

Marks the starting point of a database level transaction.

Namespace: DevExpress.Xpo

Assembly: DevExpress.Xpo.v21.2.dll


public override void 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.


The BeginTransaction method throws an exception if a database level transaction has already been started.

See Also