他のエンティティとの関係を持つエンティティ(TerminalCertification
)があります。 TerminalCertification
を更新できるようにしたいのですが、ユーザーが更新した関連オブジェクトを更新できません。私の更新コードはここにあります:エンティティフレームワーク内のエンティティを更新する
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);
}
私はstackoverflowを検索し、以下のコードを見つけましたが、DBContextクラスにそのようなObjectStateManagerはありません。
ObjectStateManager stateMgr = db.ObjectStateManager;
ObjectStateEntry stateEntry = stateMgr.GetObjectStateEntry(model);
stateEntry.SetModified();
どうすればよいですか?
このエラーがスローされます。ObjectStateManagerに、オブジェクト型への参照を含むObjectStateEntryが含まれていません。 – JGC
最初にDbContextにエンティティをアタッチします。 – Jeff
オブジェクトをDBContextに添付するにはどうすればいいですか? – JGC