0

阅读 MSDN附加和分离对象后。

对象以 Unchanged 状态附加到对象上下文。如果我们调用 Attach 方法。并且在未更改状态下,实体框架将实体键值视为最终值。

“最终”是什么意思?

4

2 回答 2

1

键值是实体的唯一标识符,一旦附加就不能更改。实体的所有其他属性都可以在附加后更改。

于 2012-07-23T04:12:05.497 回答
1

处于“未更改”状态的对象意味着与数据库中的状态相比,上下文不知道实体的任何更改。

您可以通过执行以下操作人为地错误地进入此状态(例如):

  1. 使用一个上下文实例从数据库加载实体。
  2. 将它从第一个上下文实例中分离出来。
  3. 更改属性。
  4. 将实体添加到新的上下文实例。

新的上下文实例将不知道实体对数据库中数据的更改,并将所有属性值视为对象的最终状态。

具体关于实体键的值,假设键代表数据库中当前的正确值,因此不会修改/修复键。

于 2012-07-23T04:12:24.677 回答