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