示例#1
0
        /// <summary>
        /// 取得一个新的连接
        /// </summary>
        /// <returns></returns>
        public static IDbConnection GetNewConnection()
        {
            IDbConnection conn = new MySqlConnection(ConfigHelper.Get(ConfigHelper.DbConnection));

            HttpContextHelper.Set(HttpContextHelper.DbConn, conn);
            conn.Open();
            return(conn);
        }
示例#2
0
        /// <summary>
        /// 提交事务
        /// </summary>
        public static void SubmitTrans()
        {
            IDbTransaction transaction = HttpContextHelper.Get <IDbTransaction>(HttpContextHelper.DbTransaction);

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

            if (transaction != null)
            {
                transaction.Rollback();
                HttpContextHelper.Set(HttpContextHelper.DbTransaction, null);
            }
        }
示例#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);
        }