public DefaultSqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, DataAccessTransaction transaction)
     : base(sqlDatabaseContext, sqlDatabaseContext.OpenConnection(), transaction)
 {
     this.sqlDataTypeProvider      = sqlDatabaseContext.SqlDataTypeProvider;
     this.tableNamePrefix          = sqlDatabaseContext.TableNamePrefix;
     this.parameterIndicatorPrefix = sqlDatabaseContext.SqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.ParameterPrefix);
 }
Esempio n. 2
0
        protected SqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, IDbConnection dbConnection, TransactionContext transactionContext)
        {
            this.TransactionContext = transactionContext;

            try
            {
                this.DbConnection             = dbConnection;
                this.SqlDatabaseContext       = sqlDatabaseContext;
                this.DataAccessModel          = sqlDatabaseContext.DataAccessModel;
                this.parameterIndicatorPrefix = this.SqlDatabaseContext.SqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.ParameterPrefix);

                this.emulateMultipleActiveResultSets = !sqlDatabaseContext.SqlDialect.SupportsCapability(SqlCapability.MultipleActiveResultSets);

                if (transactionContext?.DataAccessTransaction != null)
                {
                    this.dbTransaction = dbConnection.BeginTransaction(ConvertIsolationLevel(transactionContext.DataAccessTransaction.IsolationLevel));
                }
            }
            catch
            {
                this.Dispose(true);

                throw;
            }
        }
        protected SqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, IDbConnection dbConnection, Transaction transaction)
        {
            this.DbConnection = dbConnection;
            this.Transaction = transaction;
            this.SqlDatabaseContext = sqlDatabaseContext;
            this.DataAccessModel = sqlDatabaseContext.DataAccessModel;

            if (transaction != null)
            {
                this.dbTransaction = dbConnection.BeginTransaction(ConvertIsolationLevel(transaction.IsolationLevel));
            }
        }
Esempio n. 4
0
        protected SqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, IDbConnection dbConnection, DataAccessTransaction transaction)
        {
            this.DbConnection       = dbConnection;
            this.SqlDatabaseContext = sqlDatabaseContext;
            this.DataAccessModel    = sqlDatabaseContext.DataAccessModel;

            this.emulateMultipleActiveResultSets = !sqlDatabaseContext.SqlDialect.SupportsCapability(SqlCapability.MultipleActiveResultSets);

            if (transaction != null)
            {
                this.dbTransaction = dbConnection.BeginTransaction(ConvertIsolationLevel(transaction.IsolationLevel));
            }
        }
Esempio n. 5
0
        public DefaultSqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, IDbConnection connection, TransactionContext transactionContext)
            : base(sqlDatabaseContext, connection, transactionContext)
        {
            try
            {
                this.sqlDataTypeProvider      = sqlDatabaseContext.SqlDataTypeProvider;
                this.tableNamePrefix          = sqlDatabaseContext.TableNamePrefix;
                this.parameterIndicatorPrefix = sqlDatabaseContext.SqlDialect.GetSyntaxSymbolString(SqlSyntaxSymbol.ParameterPrefix);
            }
            catch
            {
                this.Dispose(true);

                throw;
            }
        }
		protected SqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, IDbConnection dbConnection, TransactionContext transactionContext)
		{
			this.TransactionContext = transactionContext;

			try
		    {
		        this.DbConnection = dbConnection;
		        this.SqlDatabaseContext = sqlDatabaseContext;
		        this.DataAccessModel = sqlDatabaseContext.DataAccessModel;

		        this.emulateMultipleActiveResultSets = !sqlDatabaseContext.SqlDialect.SupportsCapability(SqlCapability.MultipleActiveResultSets);

		        if (transactionContext?.DataAccessTransaction != null)
		        {
		            this.dbTransaction = dbConnection.BeginTransaction(ConvertIsolationLevel(transactionContext.DataAccessTransaction.IsolationLevel));
		        }
		    }
		    catch
		    {
		        this.Dispose(true);

		        throw;
		    }
		}
 public PostgresSqlDatabaseSchemaManager(SqlDatabaseContext sqlDatabaseContext)
     : base(sqlDatabaseContext)
 {
 }
 public SqlServerSqlTransactionsCommandContext(SqlDatabaseContext sqlDatabaseContext, Transaction transaction)
     : base(sqlDatabaseContext, transaction)
 {
 }
Esempio n. 9
0
		public virtual DatabaseTransactionContextAcquisition AcquirePersistenceTransactionContext(SqlDatabaseContext sqlDatabaseContext)
		{
			if (this.disposed)
			{
				throw new ObjectDisposedException(nameof(TransactionContext));
			}

			SqlTransactionalCommandsContext commandsContext;

			if (!this.commandsContextsBySqlDatabaseContexts.TryGetValue(sqlDatabaseContext, out commandsContext))
			{
				commandsContext = sqlDatabaseContext.CreateSqlTransactionalCommandsContext(this.DataAccessTransaction);
				
				this.commandsContextsBySqlDatabaseContexts[sqlDatabaseContext] = commandsContext;
			}

			var startIndex = this.GetExecutionVersion();

			var retval = new DatabaseTransactionContextAcquisition(this, sqlDatabaseContext, commandsContext);

			if (this.DataAccessTransaction == null)
			{
				retval.Disposed += (s, e) =>
				{
					if (this.GetExecutionVersion() <= startIndex)
					{
						this.dataAccessObjectDataContext = null;

						foreach (var cc in this.commandsContextsBySqlDatabaseContexts.Values)
						{
							cc.Dispose();
						}

						this.commandsContextsBySqlDatabaseContexts.Clear();
					}
				};
			}

			return retval;
		}
		public PostgresSqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, Transaction transaction)
			: base(sqlDatabaseContext, transaction)
		{
		}
Esempio n. 11
0
		public SqlTransactionalCommandsContext GetCurrentTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext)
		{
			if (this.disposed)
			{
				throw new ObjectDisposedException(nameof(TransactionContext));
			}

			if (this.DataAccessTransaction == null)
			{
				throw new InvalidOperationException("Transaction required");
			}

			return this.AcquirePersistenceTransactionContext(sqlDatabaseContext).SqlDatabaseCommandsContext;
		}
		public SqlServerSqlTransactionsCommandContext(SqlDatabaseContext sqlDatabaseContext, IDbConnection connection, TransactionContext transactionContext)
			: base(sqlDatabaseContext, connection, transactionContext)
		{
		}
Esempio n. 13
0
        public virtual DatabaseTransactionContextAcquisition AcquirePersistenceTransactionContext(SqlDatabaseContext sqlDatabaseContext)
        {
            SqlTransactionalCommandsContext retval;

            if (this.Transaction == null)
            {
                retval = sqlDatabaseContext.CreateSqlTransactionalCommandsContext(null);

                return new DatabaseTransactionContextAcquisition(this, sqlDatabaseContext, retval);
            }
            else
            {
                TransactionEntry outValue;

                if (this.persistenceTransactionContextsBySqlDatabaseContexts.TryGetValue(sqlDatabaseContext, out outValue))
                {
                    retval = outValue.sqlDatabaseCommandsContext;
                }
                else
                {
                    retval = sqlDatabaseContext.CreateSqlTransactionalCommandsContext(this.Transaction);

                    this.persistenceTransactionContextsBySqlDatabaseContexts[sqlDatabaseContext] = new TransactionEntry(retval);
                }

                return new DatabaseTransactionContextAcquisition(this, sqlDatabaseContext, retval);
            }
        }
 public DatabaseTransactionContextAcquisition(TransactionContext transactionContext, SqlDatabaseContext sqlDatabaseContext, SqlTransactionalCommandsContext sqlDatabaseCommandsContext)
 {
     this.TransactionContext = transactionContext;
     this.SqlDatabaseContext = sqlDatabaseContext;
     this.SqlDatabaseCommandsContext = sqlDatabaseCommandsContext;
 }
		public PostgresSqlTransactionalCommandsContext(SqlDatabaseContext sqlDatabaseContext, IDbConnection connection, TransactionContext transactionContext)
			: base(sqlDatabaseContext, connection, transactionContext)
		{	
		}
		public PostgresSqlDataDefinitionExpressionBuilder(SqlDatabaseContext sqlDatabaseContext, SqlDataTypeProvider sqlDataTypeProvider, SqlDialect sqlDialect)
		{
			this.SqlDatabaseContext = sqlDatabaseContext;
			this.SqlDataTypeProvider = sqlDataTypeProvider;
			this.SqlDialect = sqlDialect;
		}
Esempio n. 17
0
        public SqlTransactionalCommandsContext GetCurrentDatabaseTransactionContext(SqlDatabaseContext sqlDatabaseContext)
        {
            if (this.Transaction == null)
            {
                throw new InvalidOperationException("Transaction required");
            }

            return this.AcquirePersistenceTransactionContext(sqlDatabaseContext).SqlDatabaseCommandsContext;
        }
Esempio n. 18
0
 protected SqlDatabaseSchemaManager(SqlDatabaseContext sqlDatabaseContext)
 {
     this.SqlDatabaseContext = sqlDatabaseContext;
     this.ServerSqlDataDefinitionExpressionBuilder = new ServerSqlDataDefinitionExpressionBuilder(this);
 }
Esempio n. 19
0
 protected SqlDatabaseSchemaManager(SqlDatabaseContext sqlDatabaseContext)
 {
     this.SqlDatabaseContext = sqlDatabaseContext;
     this.ServerSqlDataDefinitionExpressionBuilder = new ServerSqlDataDefinitionExpressionBuilder(this);
 }