无法删除此对象,因为未在 ObjectStateManager 中找到它。

来源:互联网 发布:办假身份淘宝链接 编辑:程序博客网 时间:2024/05/18 03:39

今天在用linq to entity 中遇到一问题:

        public Employees GetEmoloyeeByID(int employeeID)
        {
            using (KDEntities kd = new KDEntities())
            {
                return (Employees)kd.Employees.FirstOrDefault(c => c.EmployeeID == employeeID);

            }

        }

 

        public int DeleteEmployee(int employeeID)
        {
            using (KDEntities kd = new KDEntities())
            {
               Employees emp = GetEmoloyeeByID(employeeID);
               if (emp != null)
              {
                  kd.DeleteObject(emp);

                  return kd.Save();
              }
            }
            return 0;
        }

代码这样删除报了异常:无法删除此对象,因为未在 ObjectStateManager 中找到它。

 

 

解决方案:

        public int DeleteEmployee(int employeeID)
        {
            using (KDEntities kd = new KDEntities())
            {
               Employees emp=  kd.Employees.FirstOrDefault(c => c.EmployeeID == employeeID);
              if (emp != null)
              {
                  kd.DeleteObject(emp);

                  return kd.Save();
              }
            }
            return 0;
        }

这样删除时没有问题的。

异常原因:(还没找到,标记下。)

原创粉丝点击