public IUnitOfWork Begin(UnitOfWorkOption option) { if (option?.Scope == TransactionScopeOption.Required && Current != null) { return(unitOfWorkProvider.Current); } var uow = serviceProvider.GetService(typeof(IUnitOfWork)).TryAs <UnitOfWork.UnitOfWorkBase>(); uow.Completed += Uow_Completed; uow.Failed += Uow_Failed; uow.Disposed += Uow_Disposed; uow.BeforeBegin(option); return(unitOfWorkProvider.Current = uow); }
public abstract void Begin(UnitOfWorkOption options);
public void BeforeBegin(UnitOfWorkOption option) { Begin(option); }