在标题中,我有一个方法:
void method(MyDb db, Thread thread, Post post)
{
thread.Title = "changed";
db.SaveChanges();
}
(当然线程项在MyDb对象中)
如何识别需要更新的项目?我没有在db.Update(thread)
之类的任何地方指定任何类似的内容,它在没有我帮助的情况下知道要更新的内容。它下面有哪些机制?
答案 0 :(得分:3)
从数据库加载实体Thread
时,它默认为“附加”。这意味着EF在内部保持对您的实体的引用,并且当您从数据库加载实体时,它还保留实体的原始值。
更新标题时,可能会出现两种情况:
SaveChanges
SaveChanges
您可以详细了解该流程here。