今天在用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;
}
这样删除时没有问题的。
异常原因:(还没找到,标记下。)