【问题标题】:What is the Unchanged state entity key value什么是未更改状态实体键值
【发布时间】:2012-07-23 12:12:24
【问题描述】:

看完MSDNAttaching and detaching object

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

“最终”是什么意思?

【问题讨论】:

    标签: entity-framework


    【解决方案1】:

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

    你可以通过这样做人为地错误地进入这个状态(例如):

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2019-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-27
        • 2020-09-06
        • 2011-10-29
        • 2023-03-14
        • 1970-01-01
        相关资源
        最近更新 更多