示例#1
0
        /// to begin a transaction on an existing TDBTransaction object.
        public void BeginTransaction(TDataBase ADataBase,
                                     IsolationLevel AIsolationLevel,
                                     string ATransactionName = "")
        {
            FTransactionIdentifier = System.Guid.NewGuid();
            FTransactionName       = ATransactionName;

            TLogging.LogAtLevel(DBAccess.DB_DEBUGLEVEL_TRANSACTION, "Begin Transaction " + ATransactionName + " in Connection " + ADataBase.ConnectionName + " with level " + AIsolationLevel.ToString("G"));
            FWrappedTransaction = ADataBase.BeginDbTransaction(AIsolationLevel);

            FTDataBaseInstanceThatTransactionBelongsTo = ADataBase;
            FAppDomainThatTransactionWasStartedIn      = AppDomain.CurrentDomain;
            FThreadThatTransactionWasStartedOn         = Thread.CurrentThread;
            FStackTraceAtPointOfTransactionStart       = new StackTrace(true);
        }