private static void updateDatabase() { while (true) { DateTime before = DateTime.Now; Console.Write("Downloading price data . . . "); Item[] items = downloadItemList().ToArray(); Console.WriteLine("Done."); Console.Write("Updating price database . . . "); using (gw2tpContext database = new gw2tpContext()) { database.Configuration.AutoDetectChangesEnabled = false; database.Configuration.ValidateOnSaveEnabled = false; for (int i = 0; i < items.Length; i++) { insertPriceData(items[i], database); //save database every 1000 entries for performance reasons if (i % 1000 == 0) { database.SaveChanges(); } } } Console.WriteLine("Done."); Thread.Sleep(TimeSpan.FromMinutes(5) - (DateTime.Now - before)); } }
public static void Main() { Item[] items = downloadItemList().ToArray(); using (var database = new gw2tpContext()) { foreach (Item i in items) { insertItemData(i, database); } database.SaveChanges(); } //updateDatabase(); }