public async Task <DatabaseInformation> GetDatabaseInformation(string connectionString) { using var connection = new SqlConnection(connectionString); var command = new SqlCommand(StoredProcedureExtensions.GetDatabaseInformation(), connection) { CommandType = CommandType.Text }; connection.Open(); using var dataReader = await command.ExecuteReaderAsync(); var columnInformation = await ColumnInformation.FromDataReader(dataReader); await dataReader.NextResultAsync(); var foreignKeyInformation = await FKConstraintInformation.FromDataReader(dataReader); await dataReader.NextResultAsync(); var extendedPropertyInformation = await ExtendedPropertyInformation.FromDataReader(dataReader); return(new DatabaseInformation { Columns = columnInformation.ToList(), ForeignKeys = foreignKeyInformation.ToList(), ExtendedProperties = extendedPropertyInformation.ToList() }); }
public async Task <IList <FKConstraintInformation> > GetFKConstraintInformation(string connectionString) { using var connection = new SqlConnection(connectionString); var command = new SqlCommand(StoredProcedureExtensions.GetFKConstraintInformation(), connection) { CommandType = CommandType.Text }; connection.Open(); using var dataReader = await command.ExecuteReaderAsync(); var fkConstraintModels = await FKConstraintInformation.FromDataReader(dataReader); return(fkConstraintModels.ToList()); }