private void CommitToDatabase(List<AsinPrepData> asinData)
    {
      using (var db = new CheapeesEntities())
      {
        db.Configuration.AutoDetectChangesEnabled = false;
        db.Configuration.ValidateOnSaveEnabled = false;

        for (int i = 0; i < asinData.Count; i++)
        {
          var a = asinData[i];
          if (db.AmazonPrepInstructions.Where(o => o.Asin.Equals(a.Asin)).Count() == 0 && db.AmazonPrepInstructions.Local.Where(o => o.Asin.Equals(a.Asin)).Count() == 0)
          {
            AmazonPrepInstruction dbEntry = new AmazonPrepInstruction();
            dbEntry.Asin = a.Asin;
            dbEntry.Labelling = a.Labelling;
            dbEntry.PrepRequired = a.Prep;

            db.AmazonPrepInstructions.Add(dbEntry);
          }
          else
          {
            AmazonPrepInstruction dbEntry = db.AmazonPrepInstructions.Where(o => o.Asin.Equals(a.Asin)).SingleOrDefault();
            if (dbEntry != null)
            {
              dbEntry.Labelling = a.Labelling;
              dbEntry.PrepRequired = a.Prep;
            }
          }

          if (i % 1000 == 0)
          {
            this.StatusDescription = string.Format("Committing to database - {0:0.00}% ({1}/{2})", i * 100.0 / asinData.Count, i, asinData.Count);
            this.StatusPercentage = i * 100 / asinData.Count;
            db.SaveChanges();
          }

        }

        db.SaveChanges();
      }
    }
        private void CommitToDatabase(List <AsinPrepData> asinData)
        {
            using (var db = new CheapeesEntities())
            {
                db.Configuration.AutoDetectChangesEnabled = false;
                db.Configuration.ValidateOnSaveEnabled    = false;

                for (int i = 0; i < asinData.Count; i++)
                {
                    var a = asinData[i];
                    if (db.AmazonPrepInstructions.Where(o => o.Asin.Equals(a.Asin)).Count() == 0 && db.AmazonPrepInstructions.Local.Where(o => o.Asin.Equals(a.Asin)).Count() == 0)
                    {
                        AmazonPrepInstruction dbEntry = new AmazonPrepInstruction();
                        dbEntry.Asin         = a.Asin;
                        dbEntry.Labelling    = a.Labelling;
                        dbEntry.PrepRequired = a.Prep;

                        db.AmazonPrepInstructions.Add(dbEntry);
                    }
                    else
                    {
                        AmazonPrepInstruction dbEntry = db.AmazonPrepInstructions.Where(o => o.Asin.Equals(a.Asin)).SingleOrDefault();
                        if (dbEntry != null)
                        {
                            dbEntry.Labelling    = a.Labelling;
                            dbEntry.PrepRequired = a.Prep;
                        }
                    }

                    if (i % 1000 == 0)
                    {
                        this.StatusDescription = string.Format("Committing to database - {0:0.00}% ({1}/{2})", i * 100.0 / asinData.Count, i, asinData.Count);
                        this.StatusPercentage  = i * 100 / asinData.Count;
                        db.SaveChanges();
                    }
                }

                db.SaveChanges();
            }
        }