/// <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); }
/// <summary> /// 提交事务 /// </summary> public static void SubmitTrans() { IDbTransaction transaction = HttpContextHelper.Get <IDbTransaction>(HttpContextHelper.DbTransaction); if (transaction != null) { transaction.Commit(); HttpContextHelper.Set(HttpContextHelper.DbTransaction, null); } }
/// <summary> /// 回滚事务 /// </summary> public static void RollBackTrans() { IDbTransaction transaction = HttpContextHelper.Get <IDbTransaction>(HttpContextHelper.DbTransaction); if (transaction != null) { transaction.Rollback(); HttpContextHelper.Set(HttpContextHelper.DbTransaction, null); } }
/// <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); }