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); }
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); }