更新需要EntityState.Modified吗?

Joh*_*ohn 16 entity-framework-4

我在更新唱片使用时见过很多人:

...
ms.Status = status;
db.Entry(ms).State = EntityState.Modified;
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

这条线是否需要?没有它,我能够进行更新.

db.Entry(ms).State = EntityState.Modified;
Run Code Online (Sandbox Code Playgroud)

我想知道这个语句实际上用于什么,如果上下文已经知道它应该更新该记录而不明确指定它然后为什么要明确指定它呢?

Lad*_*nka 31

如果实体的更改是在EF上下文未跟踪实体(实体已分离)时完成的,那么这是必需的.如果从上下文加载实体,请修改它并将其保存在您不需要使用它的相同上下文中,因为EF将跟踪更改并自动设置状态.