尝试删除记录时出错:
InvalidOperationException - 无法删除对象,因为在ObjectStateManager中找不到该对象。
public ActionResult Delete(CustomerModel customer)
{
db.Customer.Remove(customer);
db.SaveChanges();
return View();
}
更新:我检查了bebugger,客户完全是空的......因此数据库无法删除该特定记录。
任何想法为什么?
答案 0 :(得分:2)
您的客户对象未加载到名为 db 的DbContext中(我假设它是DbContext ...从您的代码中并不完全清楚)。
使用Entity Framework,您使用的DbContext必须知道它正在作用的对象。看起来您以某种方式创建了 customer ,而不是将其加载到 db 。
您可以将它添加到DbContext中,如下所示:
db.Attach(customer);
然后,继续将其删除并保存更改。
有关详细信息,请参阅
特别针对您的情况,段落将现有实体附加到上下文
更新(根据您的更新)
您是如何创建客户的?没有这些细节,只需要猜测它为何完全是空的。