ObjectStateManager中已存在具有相同键的对象。 ObjectStateManager无法使用相同的键跟踪多个对象

时间:2012-04-01 11:17:11

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

我在这里看到了相关问题:

An object with the same key already exists in the ObjectStateManager. The ObjectStateManager cannot track multiple objects with the same key

但是,我还没有从任何地方加载我的实体(UserView.Employee),如下面的代码片段所示。

public ActionResult EditEmployee(UserViewDetailsModel UserView)
        {
            UserView.Employee.Contact = db.Contacts.Find(UserView.Employee.Contact.ContactID);
            UserView.Employee.Manager = db.Employees.Find(UserView.ManagerID);
            db.Entry(UserView.Employee).State = EntityState.Modified;
            db.SaveChanges();

            return RedirectToAction("Index");
        }

请告诉我,如何在这种情况下保存更改?

1 个答案:

答案 0 :(得分:0)

我没有VS来测试这个,但你可以试试像:

db.Entry(UserView.Employee).CurrentValues.SetValues(EntityState.Modified);