Entity framework asp.mvc3从数据库中删除对象
这是我的密码:Entity framework asp.mvc3从数据库中删除对象,entity-framework,asp.net-mvc-3,ado.net,Entity Framework,Asp.net Mvc 3,Ado.net,这是我的密码: public ActionResult DeleteItem(int id) { using (var cont = new PhotoGalleryDBEntities4()) { var refToDel = cont.Referanslars.First(x => x.Id == id); if (!ModelState.IsValid)
public ActionResult DeleteItem(int id)
{
using (var cont = new PhotoGalleryDBEntities4())
{
var refToDel = cont.Referanslars.First(x => x.Id == id);
if (!ModelState.IsValid)
return Content("Referans bulunamadı!");
_db.Attach(refToDel);
_db.DeleteObject(refToDel);
_db.SaveChanges();
return View();
}
return View();
}
我在_db.Attach()中得到一个错误,即:一个实体对象不能被IEntityChangeTracker的多个实例引用。为什么会发生这种情况?这里有一个链接,说明其他人是如何摆脱“一个实体对象不能被IEntityChangeTracker的多个实例引用”的问题的。我希望这有帮助 试试这个
public ActionResult DeleteItem(int id)
{
using (var cont = new PhotoGalleryDBEntities4())
{
var refToDel = cont.Referanslars.First(x => x.Id == id);
if (!ModelState.IsValid)
return Content("Referans bulunamadı!");
cont.DeleteObject(refToDel);
cont.SaveChanges();
return View();
}
return View();
}
您正在尝试附加已附加到的对象。删除“附加”,它可能会删除您的对象。否。不幸的是,这不起作用。我试过了。它说你必须在删除一个对象之前附加。我发现了问题所在。var cont=new PhotoGalleryDBEntities4()这里是cont是本地的,我必须使用它。但我用的是_db。