Show / Hide Table of Contents

Class UnitOfWork

Inheritance
object
UnitOfWork
ExceptionHandingUnitOfWork
TestUnitOfWork
Implements
IUnitOfWork
IDatabaseApiContainer
IServiceProviderAccessor
ITransactionApiContainer
IDisposable
ITransientDependency
Inherited Members
object.GetType()
object.MemberwiseClone()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
Namespace: Volo.Abp.Uow
Assembly: Volo.Abp.Uow.dll
Syntax
public class UnitOfWork : IUnitOfWork, IDatabaseApiContainer, IServiceProviderAccessor, ITransactionApiContainer, IDisposable, ITransientDependency

Constructors

UnitOfWork(IServiceProvider, IUnitOfWorkEventPublisher, IOptions<AbpUnitOfWorkDefaultOptions>)

Declaration
public UnitOfWork(IServiceProvider serviceProvider, IUnitOfWorkEventPublisher unitOfWorkEventPublisher, IOptions<AbpUnitOfWorkDefaultOptions> options)
Parameters
Type Name Description
IServiceProvider serviceProvider
IUnitOfWorkEventPublisher unitOfWorkEventPublisher
IOptions<AbpUnitOfWorkDefaultOptions> options

Fields

UnitOfWorkReservationName

Declaration
public const string UnitOfWorkReservationName = "_AbpActionUnitOfWork"
Field Value
Type Description
string

Properties

CompletedHandlers

Declaration
protected List<Func<Task>> CompletedHandlers { get; }
Property Value
Type Description
List<Func<Task>>

DistributedEventWithPredicates

Declaration
protected List<KeyValuePair<UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>?>> DistributedEventWithPredicates { get; }
Property Value
Type Description
List<KeyValuePair<UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>>>

DistributedEvents

Declaration
protected List<UnitOfWorkEventRecord> DistributedEvents { get; }
Property Value
Type Description
List<UnitOfWorkEventRecord>

EnableObsoleteDbContextCreationWarning

Declaration
public static bool EnableObsoleteDbContextCreationWarning { get; }
Property Value
Type Description
bool

Id

Declaration
public Guid Id { get; }
Property Value
Type Description
Guid

IsCompleted

Declaration
public bool IsCompleted { get; }
Property Value
Type Description
bool

IsDisposed

Declaration
public bool IsDisposed { get; }
Property Value
Type Description
bool

IsReserved

Declaration
public bool IsReserved { get; set; }
Property Value
Type Description
bool

Items

Declaration
public Dictionary<string, object> Items { get; }
Property Value
Type Description
Dictionary<string, object>

LocalEventWithPredicates

Declaration
protected List<KeyValuePair<UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>?>> LocalEventWithPredicates { get; }
Property Value
Type Description
List<KeyValuePair<UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>>>

LocalEvents

Declaration
protected List<UnitOfWorkEventRecord> LocalEvents { get; }
Property Value
Type Description
List<UnitOfWorkEventRecord>

Options

Declaration
public IAbpUnitOfWorkOptions Options { get; }
Property Value
Type Description
IAbpUnitOfWorkOptions

Outer

Declaration
public IUnitOfWork? Outer { get; }
Property Value
Type Description
IUnitOfWork

ReservationName

Declaration
public string? ReservationName { get; set; }
Property Value
Type Description
string

ServiceProvider

Declaration
public IServiceProvider ServiceProvider { get; }
Property Value
Type Description
IServiceProvider

UnitOfWorkEventPublisher

Declaration
protected IUnitOfWorkEventPublisher UnitOfWorkEventPublisher { get; }
Property Value
Type Description
IUnitOfWorkEventPublisher

Methods

AddDatabaseApi(string, IDatabaseApi)

Declaration
public virtual void AddDatabaseApi(string key, IDatabaseApi api)
Parameters
Type Name Description
string key
IDatabaseApi api

AddOrReplaceDistributedEvent(UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>?)

Declaration
public virtual void AddOrReplaceDistributedEvent(UnitOfWorkEventRecord eventRecord, Predicate<UnitOfWorkEventRecord>? replacementSelector = null)
Parameters
Type Name Description
UnitOfWorkEventRecord eventRecord
Predicate<UnitOfWorkEventRecord> replacementSelector

AddOrReplaceLocalEvent(UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>?)

Declaration
public virtual void AddOrReplaceLocalEvent(UnitOfWorkEventRecord eventRecord, Predicate<UnitOfWorkEventRecord>? replacementSelector = null)
Parameters
Type Name Description
UnitOfWorkEventRecord eventRecord
Predicate<UnitOfWorkEventRecord> replacementSelector

AddTransactionApi(string, ITransactionApi)

Declaration
public virtual void AddTransactionApi(string key, ITransactionApi api)
Parameters
Type Name Description
string key
ITransactionApi api

CommitTransactionsAsync(CancellationToken)

Declaration
protected virtual Task CommitTransactionsAsync(CancellationToken cancellationToken)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

CompleteAsync(CancellationToken)

Declaration
public virtual Task CompleteAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

Dispose()

Declaration
public virtual void Dispose()

FindDatabaseApi(string)

Declaration
public virtual IDatabaseApi? FindDatabaseApi(string key)
Parameters
Type Name Description
string key
Returns
Type Description
IDatabaseApi

FindTransactionApi(string)

Declaration
public virtual ITransactionApi? FindTransactionApi(string key)
Parameters
Type Name Description
string key
Returns
Type Description
ITransactionApi

GetAllActiveDatabaseApis()

Declaration
public virtual IReadOnlyList<IDatabaseApi> GetAllActiveDatabaseApis()
Returns
Type Description
IReadOnlyList<IDatabaseApi>

GetAllActiveTransactionApis()

Declaration
public virtual IReadOnlyList<ITransactionApi> GetAllActiveTransactionApis()
Returns
Type Description
IReadOnlyList<ITransactionApi>

GetEventsRecords(List<KeyValuePair<UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>?>>)

Declaration
protected virtual List<UnitOfWorkEventRecord> GetEventsRecords(List<KeyValuePair<UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>?>> eventWithPredicates)
Parameters
Type Name Description
List<KeyValuePair<UnitOfWorkEventRecord, Predicate<UnitOfWorkEventRecord>>> eventWithPredicates
Returns
Type Description
List<UnitOfWorkEventRecord>

GetOrAddDatabaseApi(string, Func<IDatabaseApi>)

Declaration
public virtual IDatabaseApi GetOrAddDatabaseApi(string key, Func<IDatabaseApi> factory)
Parameters
Type Name Description
string key
Func<IDatabaseApi> factory
Returns
Type Description
IDatabaseApi

GetOrAddTransactionApi(string, Func<ITransactionApi>)

Declaration
public virtual ITransactionApi GetOrAddTransactionApi(string key, Func<ITransactionApi> factory)
Parameters
Type Name Description
string key
Func<ITransactionApi> factory
Returns
Type Description
ITransactionApi

Initialize(AbpUnitOfWorkOptions)

Declaration
public virtual void Initialize(AbpUnitOfWorkOptions options)
Parameters
Type Name Description
AbpUnitOfWorkOptions options

OnCompleted(Func<Task>)

Declaration
public virtual void OnCompleted(Func<Task> handler)
Parameters
Type Name Description
Func<Task> handler

OnCompletedAsync()

Declaration
protected virtual Task OnCompletedAsync()
Returns
Type Description
Task

OnDisposed()

Declaration
protected virtual void OnDisposed()

OnFailed()

Declaration
protected virtual void OnFailed()

Reserve(string)

Declaration
public virtual void Reserve(string reservationName)
Parameters
Type Name Description
string reservationName

RollbackAllAsync(CancellationToken)

Declaration
protected virtual Task RollbackAllAsync(CancellationToken cancellationToken)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

RollbackAsync(CancellationToken)

Declaration
public virtual Task RollbackAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

SaveChangesAsync(CancellationToken)

Declaration
public virtual Task SaveChangesAsync(CancellationToken cancellationToken = default)
Parameters
Type Name Description
CancellationToken cancellationToken
Returns
Type Description
Task

SetOuter(IUnitOfWork?)

Declaration
public virtual void SetOuter(IUnitOfWork? outer)
Parameters
Type Name Description
IUnitOfWork outer

ToString()

Declaration
public override string ToString()
Returns
Type Description
string
Overrides
object.ToString()

Events

Disposed

Declaration
public event EventHandler<UnitOfWorkEventArgs> Disposed
Event Type
Type Description
EventHandler<UnitOfWorkEventArgs>

Failed

Declaration
public event EventHandler<UnitOfWorkFailedEventArgs> Failed
Event Type
Type Description
EventHandler<UnitOfWorkFailedEventArgs>

Implements

IUnitOfWork
IDatabaseApiContainer
IServiceProviderAccessor
ITransactionApiContainer
IDisposable
ITransientDependency

Extension Methods

AbpObjectExtensions.As<T>(object)
AbpObjectExtensions.To<T>(object)
LockExtensions.Locking(object, Action)
LockExtensions.Locking<TResult>(object, Func<TResult>)
UnitOfWorkExtensions.AddItem<TValue>(IUnitOfWork, string, TValue)
UnitOfWorkExtensions.GetItemOrDefault<TValue>(IUnitOfWork, string)
UnitOfWorkExtensions.GetOrAddItem<TValue>(IUnitOfWork, string, Func<string, TValue>)
UnitOfWorkExtensions.IsReservedFor(IUnitOfWork, string)
UnitOfWorkExtensions.RemoveItem(IUnitOfWork, string)
AbpObjectExtensions.If<T>(T, bool, Action<T>)
AbpObjectExtensions.If<T>(T, bool, Func<T, T>)
AbpObjectExtensions.IsIn<T>(T, IEnumerable<T>)
AbpObjectExtensions.IsIn<T>(T, params T[])
AbpQueryableExtensions.OrderByIf<T, TQueryable>(TQueryable, bool, string)
AbpQueryableExtensions.PageBy<T, TQueryable>(TQueryable, int, int)
AbpQueryableExtensions.WhereIf<T, TQueryable>(TQueryable, bool, Expression<Func<T, bool>>)
AbpQueryableExtensions.WhereIf<T, TQueryable>(TQueryable, bool, Expression<Func<T, int, bool>>)
AbpOpenIddictQueryableExtensions.SkipIf<T, TQueryable>(TQueryable, bool, int?)
AbpOpenIddictQueryableExtensions.TakeIf<T, TQueryable>(TQueryable, bool, int?)
LockExtensions.Locking<T>(T, Action<T>)
LockExtensions.Locking<T, TResult>(T, Func<T, TResult>)
In this article
Back to top Powered by ABP.IO Platform