Ejemplo n.º 1
0
        private void btn_Update_Click(object sender, RoutedEventArgs e)
        {
            Employee Mazepa = new Employee
            {
                Name         = "Anonym",
                Surname      = "MigrationFailed",
                IsworkingFor = "Ukraine"
            };

            //добавление
            context.Employees.Add(Mazepa);
            context.SaveChanges();
            //сохранение изменений
            MessageBox.Show("Successfully saved");
        }
Ejemplo n.º 2
0
        /// <summary>
        /// сли объект получен в одном контексте, а сохраняется в другом,
        /// то мы можем устанавливать у него вручную состояния
        /// EntityState.Updated или EntityState.Deleted.
        /// Но есть еще один способ: с помощью метода Attach у объекта DbSet
        /// мы можем прикрепить объект к текущему контексту данных:
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_Attach_Click(object sender, RoutedEventArgs e)
        {
            Employee emp;

            using (EmployeeDataContext ctx = new EmployeeDataContext())
            {
                emp = ctx.Employees.FirstOrDefault();
            }
            // редактирование
            using (EmployeeDataContext ctx = new EmployeeDataContext())
            {
                if (emp != null)
                {
                    ctx.Employees.Attach(emp);
                    emp.Salary = 999;
                    ctx.SaveChanges();
                }
            }
            // удаление
            using (EmployeeDataContext ctx = new EmployeeDataContext())
            {
                if (emp != null)
                {
                    ctx.Employees.Attach(emp);
                    ctx.Employees.Remove(emp);
                    ctx.SaveChanges();
                }
            }
        }