【发布时间】:2013-01-25 14:49:26
【问题描述】:
我有两个实体如下:
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个月前发布的这个问题非常相似。请看这个..stackoverflow.com/questions/13311652/…
标签: asp.net-mvc-3