Esempio n. 1
0
        /// <summary>
        /// Выполняет код вне транзакции
        /// </summary>
        /// <typeparam name="T">Тип возвращаемого результата</typeparam>
        /// <param name="func">Код, который необходимо выполнить вне транзакции</param>
        /// <returns>Результат</returns>
        public static T Suppress <T>(Func <T> func)
        {
            Tx tx = new Tx(TransactionScopeOption.Suppress);

            return(tx.ExecuteFunc(func));
        }
Esempio n. 2
0
        /// <summary>
        /// Создаёт новую транзакцию
        /// </summary>
        /// <typeparam name="T">Тип возвращаемого результата</typeparam>
        /// <param name="timeout">Таймаут транзакции</param>
        /// <param name="level">Уровень изоляции транзакции</param>
        /// <param name="func">Код, который необходимо выполнить внутри транзакции</param>
        /// <returns>Результат</returns>
        public static T RequiresNew <T>(TimeSpan timeout, IsolationLevel level, Func <T> func)
        {
            Tx tx = new Tx(TransactionScopeOption.RequiresNew, level, timeout);

            return(tx.ExecuteFunc(func));
        }
Esempio n. 3
0
        /// <summary>
        /// Выполняет код вне транзакции
        /// </summary>
        /// <param name="action">Код, который необходимо выполнить вне транзакции</param>
        public static void Suppress(Action action)
        {
            Tx tx = new Tx(TransactionScopeOption.Suppress);

            tx.ExecuteAction(action);
        }
Esempio n. 4
0
        /// <summary>
        /// Создаёт новую транзакцию
        /// </summary>
        /// <param name="timeout">Таймаут транзакции</param>
        /// <param name="level">Уровень изоляции транзакции</param>
        /// <param name="action">Код, который необходимо выполнить внутри транзакции</param>
        public static void RequiresNew(TimeSpan timeout, IsolationLevel level, Action action)
        {
            Tx tx = new Tx(TransactionScopeOption.RequiresNew, level, timeout);

            tx.ExecuteAction(action);
        }