这是我的代码:
[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”对象。
任何想法我应该改变什么?