Example #1
0
        /// <summary>
        /// 提交事务
        /// </summary>
        public static void SubmitTrans()
        {
            IDbTransaction transaction = HttpContextHelper.Get <IDbTransaction>(HttpContextHelper.DbTransaction);

            if (transaction != null)
            {
                transaction.Commit();
                HttpContextHelper.Set(HttpContextHelper.DbTransaction, null);
            }
        }
Example #2
0
        /// <summary>
        /// 回滚事务
        /// </summary>
        public static void RollBackTrans()
        {
            IDbTransaction transaction = HttpContextHelper.Get <IDbTransaction>(HttpContextHelper.DbTransaction);

            if (transaction != null)
            {
                transaction.Rollback();
                HttpContextHelper.Set(HttpContextHelper.DbTransaction, null);
            }
        }
Example #3
0
        /// <summary>
        /// 获取当前上下文中的数据库连接, 要是没有, 则返回新的
        /// </summary>
        /// <param name="create">如果为true会创建</param>
        /// <param name="type">如果为true会创建</param>
        /// <returns></returns>
        public static IDbConnection GetCurrentConnection(bool create = true)
        {
            IDbConnection conn = HttpContextHelper.Get <IDbConnection>(HttpContextHelper.DbConn);

            if (conn == null)
            {
                if (create)
                {
                    return(GetNewConnection());
                }

                return(null);
            }
            return(conn);
        }
Example #4
0
        /// <summary>
        /// 获取当前的事务(整个请求全局有效)
        /// </summary>
        /// <param name="createNew"></param>
        /// <param name="type"></param>
        /// <returns></returns>
        public static IDbTransaction GetCurrentTransaction(bool createNew = true)
        {
            IDbTransaction transaction = HttpContextHelper.Get <IDbTransaction>(HttpContextHelper.DbTransaction);

            if (transaction == null && createNew)
            {
                var conn = GetCurrentConnection();
                if (conn.State != ConnectionState.Open)
                {
                    conn.Open();
                }
                transaction = conn.BeginTransaction();
                HttpContextHelper.Set(HttpContextHelper.DbTransaction, transaction);
            }
            return(transaction);
        }