public async static Task MainAsync(string[] args) { var sourceDb = new SourceDatabase(); var destinationDb = new DestinationDatabase(); var tables = await sourceDb.GetTableNames(); var migrationTable = tables.FirstOrDefault(x => x.Name == "__MigrationHistory"); tables.Remove(migrationTable); //await destinationDb.DeleteTables(tables); //await destinationDb.CreateTables(tables); var copyData = new CopyData(sourceDb, destinationDb); var startTime = DateTime.Now; foreach (Table table in tables) { await copyData.CopyTable(table); } var endtime = DateTime.Now; Console.WriteLine(endtime.Subtract(startTime)); Console.ReadLine(); }
public CopyData(SourceDatabase source, DestinationDatabase destination, int batchSize = 262) { _sourceDB = source; _destinationDB = destination; _batchSize = batchSize; }