public static DatabaseContent GetTableContent(string source, List <string> tables) { DatabaseContent databaseContent = GetTableContent(source); List <string> tablesToRemove = databaseContent.TableContent.Select(x => x.TableName).ToList(); if (tables.Contains("All")) { return(databaseContent); } foreach (string table in tablesToRemove) { TableContent tableContent = databaseContent.TableContent.FirstOrDefault(x => x.TableName == table); if (tableContent == null) { continue; } if (tables.Contains(tableContent.TableName)) { continue; } databaseContent.TableContent.Remove(tableContent); } return(databaseContent); }
private static List <TableContent> GetTableContent(List <string> tables, SQLiteConnection dbConnection) { var result = new List <TableContent>(); foreach (string table in tables) { var tableContent = new TableContent(table); tableContent.ColumnNames = GetColumnName(table, dbConnection); tableContent.Data = GetTableData(table, tableContent.ColumnNames, dbConnection); tableContent.SchemaHash = GetTableSchemaHash(table, dbConnection); result.Add(tableContent); } return(result); }