Entity framework 4 EF4 ObjectContext。是否附加问题?

Entity framework 4 EF4 ObjectContext。是否附加问题?,entity-framework-4,objectset,Entity Framework 4,Objectset,如果我构造一个像Category这样的对象,将值分配给属性,其中一个是与数据库中的行相同的ID,并将其传递给ObejctSet.Attach方法,然后在上下文中调用SaveChanges,它会更新数据库中的该行吗?还是必须首先检索实体?这两种情况都是可能的。区别在于使用附着的或分离的实例 您可以创建对象,将其附加到上下文,说对象已被修改(附加将对象标记为未更改)并保存更改 或 您可以从上下文加载对象、修改对象、保存对同一上下文的更改(不需要将其设置为已修改,因为对象上下文跟踪所加载对象的更改)

如果我构造一个像Category这样的对象,将值分配给属性,其中一个是与数据库中的行相同的ID,并将其传递给ObejctSet.Attach方法,然后在上下文中调用SaveChanges,它会更新数据库中的该行吗?还是必须首先检索实体?

这两种情况都是可能的。区别在于使用附着的或分离的实例

您可以创建对象,将其附加到上下文,说对象已被修改(附加将对象标记为未更改)并保存更改

您可以从上下文加载对象、修改对象、保存对同一上下文的更改(不需要将其设置为已修改,因为对象上下文跟踪所加载对象的更改)

我为这两种场景都编写了示例