コード例 #1
0
        private void addOrUpdateEmployees()
        {
            Console.WriteLine("Starting loop at: " + DateTime.Now.ToShortTimeString());
            int newEmployeeCount     = 0;
            int updatedEmployeeCount = 0;
            int i = 0;
            int existingEmployeeCount = existingEmployees.Count();

            Console.WriteLine(string.Format("There are {0} employees in the db", existingEmployeeCount));
            foreach (TempEmployee newEmployee in newEmployees)
            {
                Employee existingEmployee = context.Employee.Where(e => e.Emplid == newEmployee.Emplid).SingleOrDefault();
                if (existingEmployee == null)//new record
                {
                    context.Employee.Add(newEmployee.CreateEmployee());
                    context.SaveChanges();
                    newEmployeeCount++;
                }
                else
                {
                    //WE DO NOT CHANGE THE Emplid
                    existingEmployee.Agency      = newEmployee.Agency;
                    existingEmployee.LastName    = newEmployee.LastName;
                    existingEmployee.FirstName   = newEmployee.FirstName;
                    existingEmployee.MiddleName  = newEmployee.MiddleName;
                    existingEmployee.DateOfBirth = newEmployee.DateOfBirth;
                    context.Update(existingEmployee);
                    context.SaveChanges();
                    updatedEmployeeCount++;
                }
                i++;
                if (i % 100 == 0)
                {
                    Console.WriteLine(string.Format("{0} {1} db records inserted/updated", DateTime.Now.ToString(), i));
                }
            }
            Console.WriteLine(string.Format("New Employees: {0}\tUpdated Employees {1} ", newEmployeeCount, updatedEmployeeCount));
            Console.WriteLine("Finished loop at: " + DateTime.Now.ToString());
            Console.WriteLine("Starting DB Save at: " + DateTime.Now.ToString());
            Console.WriteLine("Finshed DB Save at: " + DateTime.Now.ToString());
        }