/// <summary> /// PerformActions /// </summary> /// <param name="action">action</param> /// <param name="unitOfWorkDbOption">unitOfWorkDbOption</param> protected void PerformActions(Action action, IUnitOfWorkDbOption unitOfWorkDbOption) { using (var uow = Provide(unitOfWorkDbOption)) { action(); uow.Complete(); } }
/// <summary> /// PerformQueries /// </summary> /// <typeparam name="T">T</typeparam> /// <param name="func">function callback</param> /// <param name="unitOfWorkDbOption">unitOfWorkDbOption</param> /// <returns></returns> protected T PerformQueries <T>(Func <T> func, IUnitOfWorkDbOption unitOfWorkDbOption) { using (var uow = Provide(unitOfWorkDbOption)) { T result = func(); uow.Complete(); return(result); } }
/// <summary> /// Provide /// </summary> /// <param name="dbOption">dbOption</param> /// <param name="scopeOption">scopeOption</param> /// <param name="isolationLevel">isolationLevel</param> /// <returns></returns> protected IUnitOfWork Provide(IUnitOfWorkDbOption dbOption, UnitOfWorkScopeOption scopeOption = UnitOfWorkScopeOption.Required, IsolationLevel isolationLevel = IsolationLevel.ReadCommitted) { return(Provider.Provide(dbOption, scopeOption, isolationLevel)); }