Reputation: 3598
I have getting an Error of "Cannot Resolve Symbol ObjectStateManager" when trying to call it on my Database context from Entity Framework 4. I can't find anyone else having this issue. I have tried using System.Data and System.Data.Objects.
Is there a specific Entity Framework that needs to be made in order to use the ObjectStateManager? Or Am I missing some sort of install package? I am using Database First Entity Framework.
Here is the code it is giving my error: (Line 7)
[HttpPost]
public ActionResult EditProfile(User user)
{
if (ModelState.IsValid)
{
db.Users.Attach(user);
db.ObjectStateManager.ChangeObjectState(user, EntityState.Modified);
db.SaveChanges();
}
return RedirectToAction("Profile");
}
Upvotes: 13
Views: 10931
Reputation: 1
One additional item to check is that the target .net framework for the project is set to .net 4+.
Upvotes: 0
Reputation: 321
I am sure you found a solution by now but I ran into the same issue just now and was able to resolve it by changing the EntityState line to the following:
db.Entry(user).State = EntityState.Modified;
Upvotes: 28
Reputation: 1871
Probably you are using code first EF. In this case you have to revert yours code to explicit implemenatation of IObjectContextAdapter, i.e.
((IObjectContextAdapter)db).ObjectContext.ObjectStateManager
Upvotes: 14
Reputation: 6265
Have you added the System.Data.Entity
assembly to the project?
Also System.Data.Objects
is correct.
Upvotes: 0