我试图删除一个对象使用EntityFramework 5,但我得到这个错误。 该对象无法删除,因为它在ObjectStateManager中找不到
我正在使用Remove()
方法,因为DeleteObject()
不存在于EF5中。 任何人都可以帮助我失去什么?该对象无法删除,因为它没有在实体框架中的ObjectStateManager中找到5
这不适用于删除
localDb.Customers.Remove(new Customer() { CustomerId = id });
localDb.SaveChanges();
另一件事我从MSDN试图将状态改为已删除工作。但是这里给出了一个错误,说明所有的字段都应该存在。是否有必要获得完整的记录然后删除?
var customer = new Customer(){ CustomerId = id };
localDb.Customers.Attach(customer);
localDb.Entry(customer).State = EntityState.Deleted;
localDb.SaveChanges();
任何输入?
感谢Nicholas,只是为了改进我的概念,为什么在EF端而不是在SQL端进行验证?这是一个命中的唯一方法,因为这个设置似乎对我来说很重要...如果有任何不正确的请纠正我。 – 2013-03-26 13:47:37
到目前为止,这是唯一的答案,我相信没有造成2次前往Db。因此将其标记为性能方面的答案。 – 2013-07-08 13:01:54
northwind.Entry(entity).State = System.Data.Entity.EntityState.Deleted; 固定为我,谢谢 – balron 2014-10-07 21:13:13