Exemplo n.º 1
0
        public async Task <bool> NeedToCreateTrackingTableAsync(DbConnection connection, DbTransaction transaction)
        {
            var schemaName = this.tableName.SchemaName;
            var tableName  = this.tableName.ObjectName;

            var table = await SqlChangeTrackingManagementUtils.ChangeTrackingTableAsync((SqlConnection)connection, (SqlTransaction)transaction, tableName, schemaName);

            return(table.Rows.Count <= 0);
        }
Exemplo n.º 2
0
        public bool NeedToCreateTrackingTable()
        {
            var schemaName = this.tableName.SchemaName;
            var tableName  = this.tableName.ObjectName;

            var table = SqlChangeTrackingManagementUtils.ChangeTrackingTable(connection, transaction, tableName, schemaName);

            return(table.Rows.Count <= 0);
        }
        public async Task DropTableAsync(DbConnection connection, DbTransaction transaction)
        {
            var changetrackingtable = await SqlChangeTrackingManagementUtils.ChangeTrackingTableAsync(
                (SqlConnection)connection, (SqlTransaction)transaction, tableName.ToString(), tableName.SchemaName);

            if (changetrackingtable == null || changetrackingtable.Rows == null || changetrackingtable.Rows.Count <= 0)
            {
                return;
            }

            var commandText = $"ALTER TABLE {tableName.Schema().Quoted().ToString()} DISABLE CHANGE_TRACKING;";

            using var command = new SqlCommand(commandText, (SqlConnection)connection, (SqlTransaction)transaction);

            await command.ExecuteNonQueryAsync().ConfigureAwait(false);
        }
        public async Task CreateTableAsync(DbConnection connection, DbTransaction transaction)
        {
            var changetrackingtable = await SqlChangeTrackingManagementUtils.ChangeTrackingTableAsync(
                (SqlConnection)connection, (SqlTransaction)transaction, tableName.ToString(), tableName.SchemaName);

            if (changetrackingtable != null && changetrackingtable.Rows != null && changetrackingtable.Rows.Count > 0)
            {
                return;
            }

            var commandText = $"ALTER TABLE {tableName.Schema().Quoted().ToString()} ENABLE CHANGE_TRACKING WITH(TRACK_COLUMNS_UPDATED = OFF);";

            using var command = new SqlCommand(commandText, (SqlConnection)connection, (SqlTransaction)transaction);

            await command.ExecuteNonQueryAsync().ConfigureAwait(false);
        }