【问题标题】:asp.mvc3 deleting an object from dbasp.mvc3 从数据库中删除一个对象
【发布时间】:2011-05-25 12:42:16
【问题描述】:

这是我的代码:

 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 的多个实例无法引用实体对象。为什么会这样?

【问题讨论】:

  • 您正在尝试附加一个已附加的对象。删除附件,它可能会删除您的对象。
  • 没有。不幸的是,这不起作用。我试过。它说您必须在删除对象之前附加。
  • 我找出了问题所在。 var cont = new PhotoGalleryDBEntities4() 这是 cont 是本地的,我必须使用它。但我使用的是 _db。

标签: entity-framework asp.net-mvc-3 ado.net


【解决方案1】:

这是其他人如何摆脱“一个实体对象不能被多个 IEntityChangeTracker 实例引用”的链接。问题。我希望这会有所帮助。

stackoverflow link

【讨论】:

    【解决方案2】:

    试试这个

    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();
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-18
      • 1970-01-01
      • 2015-08-12
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多