ObjectStateEntry.Delete方法将实体标记为已删除 - 但在之前或之后?

时间:2013-10-11 11:02:56

标签: c# .net entity-framework entity-framework-4

在ObjectStateEntry.Delete方法

的定义中

MSDN说:

"Marks an entity as deleted."

但这是否意味着它首先将其删除,然后才将其标记为DELETED? 或者它首先标记它然后它从Db中删除条目?

2 个答案:

答案 0 :(得分:2)

ObjectStateManager将有关您所做更改的所有信息收集到实体中。 因此,当您调用myContext.Delete(myEntity)时,您的实体将在Objectstatemanger中标记为已删除。但此时它不会被删除。

当你调用myContext.SaveChanges();

时,它将被删除

答案 1 :(得分:0)

仅在调用Context.SaveChanges()方法时才应用对DB的更改。 因此,仅在EF实体缓存中标记为“已删除”的实体。