public SqlCommand BuildDisableForeignKeyCommand(SqlConnection connection, DisableForeignKeyRequest request) { var cmd = connection.CreateCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = $"ALTER TABLE [{request.SchemaName}].[{request.TableName}] NOCHECK CONSTRAINT [{request.ForeignKeyName}]"; return(cmd); }
private async Task DisableForeignKeys(IEnumerable <ForeignKeyInfo> references) { foreach (var item in references) { var request = new DisableForeignKeyRequest { ForeignKeyName = item.Name, SchemaName = item.ForeignSchemaName, TableName = item.ForeignTableName }; await _metadataRepository.DisableForeignKeysAsync(request); } }
public async Task DisableForeignKeysAsync(DisableForeignKeyRequest request) { var cmd = CommandBuilder.BuildDisableForeignKeyCommand(Connection, request); try { await Connection.OpenAsync(); await cmd.ExecuteNonQueryAsync(); } finally { await Connection.CloseAsync(); } }