public static void Main()
        {
            var sqlDB = new DatabaseContext();
            var mongoDB = GetDatabase(DatabaseHost, DatabaseName);

            var makerIDsMongo = MigrateMakersTable(sqlDB, mongoDB);
            var modelIDsMongo = MigrateModelsTable(sqlDB, mongoDB);

            sqlDB.SaveChanges();

            MigrateLaptopsTable(sqlDB, mongoDB, makerIDsMongo, modelIDsMongo);

            sqlDB.SaveChanges();
        }
        static void Main(string[] args)
        {
            using (var db = new DatabaseContext())
            {
                int i = 1;
                ExcelReportReadingProvider.ReadZippedReports("../../../ExcelSampleData/GraphicsCardsReports.zip", "../../../ExcelSampleData/reports", x =>
                {
                    Console.WriteLine("Loading report row {4}: {0}GB  {1}Ghz  {2}$  {3}", x[0], x[1], x[2], x[3], i++);
                    db.GraphicsCards.Add(new GraphicsCard()
                    {
                        MemorySize = decimal.Parse(x[0].ToString()),
                        ClockSpeed = decimal.Parse(x[1].ToString()),
                        Price = decimal.Parse(x[2].ToString()),
                        Manufacturer = x[3].ToString()
                    });

                });

                db.SaveChanges();
            }
        }
        public static void ProcessToMssql(IEnumerable<Product> products)
        {
            var db = new DatabaseContext();

            foreach (var product in products)
            {
                foreach (var order in product.Orders)
                {
                    var orderToAdd = new Models.EF.Order(order.Month, order.Count);

                    var modelOfOrder = db.Models
                                        .Where(m => m.Name == product.ModelName)
                                        .FirstOrDefault();

                    orderToAdd.Model = modelOfOrder;

                    db.Orders.Add(orderToAdd);
                }
            }

            db.SaveChanges();
        }