更新需要EntityState.Modified吗?

时间:2012-03-15 10:45:51

标签: entity-framework-4

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

...
ms.Status = status;
db.Entry(ms).State = EntityState.Modified;
db.SaveChanges();

需要这条线吗?没有它我就能做更新。

db.Entry(ms).State = EntityState.Modified;

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

2 个答案:

答案 0 :(得分:31)

如果在EF上下文未跟踪实体(实体已分离)时完成了对实体的更改,则需要执行此操作。如果从上下文加载实体,请修改它并将其保存在您不需要使用它的相同上下文中,因为EF将跟踪更改并自动设置状态。

答案 1 :(得分:1)

根据我的理解,只有在实体重新附加到上下文时才需要使用它。否则没有。