using System;
namespace Abp.Domain.Uow
{
///
/// Defines a unit of work.
/// This interface is internally used by ABP.
/// Use to start a new unit of work.
///
public interface IUnitOfWork : IActiveUnitOfWork, IUnitOfWorkCompleteHandle
{
///
/// Unique id of this UOW.
///
string Id { get; }
///
/// Reference to the outer UOW if exists.
///
IUnitOfWork Outer { get; set; }
///
/// Begins the unit of work with given options.
///
/// Unit of work options
void Begin(UnitOfWorkOptions options);
}
}