首先,我是一个初学者,当我尝试通过将 id 通过视图传递给控制器来删除 sql 中的记录时,下面是我的代码:
注意:“用户名”是表“T_Users”中的 PK
#region Delete record function
public ActionResult Delete(string id ) {
T_Users temp_u = new T_Users() { Username = id };
//db.T_Users.Attach(new T_Users() { Username = id });
db.T_Users.Remove(temp_u);
try
{
db.SaveChanges();
//return View();
}
catch(Exception e) {
return Content("hehe");
}
return RedirectToAction("Index");
}
#endregion
当我调用 T_Users.Attach() 方法时,它说“ObjectStateManager 中已经存在具有相同键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象”
然后我评论说,它失败了,因为“无法删除对象,因为它在 ObjectStateManager 中找不到。”
任何人都可以提供一些关于解决方案的想法吗?