Reputation: 12997
I have an entity (TerminalCertification
) which has relation to other entities.
I want to make user to be able to update TerminalCertification
but I'm not able to update related object which is updated by user. My update code is here:
public void UpdateTerminalCertification(TerminalCertification terminalCertification)
{
var lastCertification = db.terminalCertifications.Find(terminalCertification.TerminalCertificationID);
if (lastCertification==null)
throw new TerminalCertificationNotFoundException(terminalCertification)
db.Entry(lastCertification).CurrentValues.SetValues(terminalCertification);
}
I have searched stackoverflow and found below code but there is not such ObjectStateManager in DBContext class.
ObjectStateManager stateMgr = db.ObjectStateManager;
ObjectStateEntry stateEntry = stateMgr.GetObjectStateEntry(model);
stateEntry.SetModified();
what should I do?
Upvotes: 4
Views: 2974
Reputation: 1
Use the UpdateModel or TryUpdateModel method inside your controller. If you are doing it outside of the controller then this will not work.
Upvotes: 0
Reputation: 36553
You can cast your DbContext to an IObjectContextAdapter which has the underlying ObjectContext and then use the ObjectStateManager off of that.
Upvotes: 4