我有兩個實體如下:如何使用外鍵更新實體?
public class Package
{
public int PackageId { get; set; }
public int BusinessId { get; set; }
public string Name { get; set; }
}
而且
public class Business
{
public int BusinessId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
我想編輯的程序包和更新相關的業務實體。我一直在嘗試以下:
[HttpPost]
public ActionResult Edit(Package package)
{
if (ModelState.IsValid)
{
db.Packages.Attach(new Package { PackageId=package.PackageId
});
db.Entry(package).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.GenreId = new SelectList(db.Businesses , "BusinessId", "Name", package.BusinessId);
return View(package);
}
的代碼在這裏停止此消息:
使用相同的密鑰在ObjectStateManager已經存在的對象。 ObjectStateManager不能使用同一個鍵跟蹤多個對象。
我一直在努力的例子,如一個在這裏... http://blogs.msdn.com/b/efdesign/archive/2009/03/16/foreign-keys-in-the-entity-framework.aspx ...但我不知道我在做什麼錯。
如何更新與外鍵的實體?
這個問題與2個月前發佈的這個問題很相似。請看看這個.. http://stackoverflow.com/questions/13311652/object-with-same-key-already-exists-in-objectstatemanager – bot