EF框架中Attach与Entry

一.Attach(实体对象)

    1.含义:将实体对象附加到上下文中;执行后的状态为unChanged。

    2.返回值:实体对象

    3.Attach执行成功的前提:

            (1).如果上下文中已经存在与实体对象键值相同的对象A,则要求实体对象的内存地址必须与对象A相同;

            否则报错:“已有相同键值的对象存在上下文中......”。

            (2).如果上下文中不存在与实体对象键值相同的对象,则要求实体对象的内存地址必须不在上下文中;

            否则会报错,系统认为在修改键值,这是不允许的

二.Entry(实体对象)

    1.含义:获取实体对象的代理类

    2.返回值:代理类对象

    3.如果实体对象不在当前上下文中(指内存地址),则代理类对象的State为Detached,

    否则,为上下文中相应所处状态。

posted @ 2021-02-01 23:20  SpeedHorse  阅读(144)  评论(0编辑  收藏  举报