DbUpdateConcurrencyException - 如何在修改其中一条记录时访问数据?

时间:2015-02-24 12:20:32

标签: c# asp.net-mvc entity-framework

这是我的代码:

    [HttpPost]
    [ValidateAntiForgeryToken]
    public ActionResult Edit([Bind(Include = "Name,Notes")] Collection collection, int LanguageID)
    {
        if (ModelState.IsValid)
        {
            collection.Language = db.Languages.Find(LanguageID);
            db.Entry(collection).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        return View(collection);
    }

Everytinhg一直工作,直到我添加:

collection.Language = db.Languages.Find(LanguageID);

Visual Studio显示的错误:

  

'System.Data.Entity.Infrastructure.DbUpdateConcurrencyException'发生在EntityFramework.dll中,但未在用户代码中处理

     

其他信息:存储更新,插入或删除语句会影响意外的行数(0)。自实体加载后,实体可能已被修改或删除。刷新ObjectStateManager条目。

在修改db中的一条记录时,似乎无法获取任何数据。但我必须以某种方式获得“Langauge”对象将其分配给“Collection”对象。

任何想法我应该改变什么?

0 个答案:

没有答案