阅读MSDN Attaching and detaching object。
对象以Unchanged状态附加到对象上下文。如果我们调用Attach方法。在Unchanged状态下,Entity Framework将实体键值视为final。
什么是“最终”意味着什么?
答案 0 :(得分:1)
Key值是实体的唯一标识符,一旦附加,就无法更改。实体的所有其他属性在附加后都可以更改。
答案 1 :(得分:1)
处于“未更改”状态的对象意味着与数据库中的状态相比,实体的任何更改的上下文都是无意识。
你可以通过这样做人为地错误地进入这种状态(例如):
新的上下文实例将不会意识到实体对数据库中数据的更改,并将所有属性值视为对象的最终状态。
特别是关于实体键的值,假设键表示当前在数据库中的正确值,因此不会修改/修复键。