ObjectContext.AttachTo(String, Object) 方法

定义

将特定实体集中的对象或对象图附加到对象上下文。

public:
 void AttachTo(System::String ^ entitySetName, System::Object ^ entity);
public void AttachTo (string entitySetName, object entity);
member this.AttachTo : string * obj -> unit
Public Sub AttachTo (entitySetName As String, entity As Object)

参数

entitySetName
String

表示实体集名称,可以选择通过实体容器名称对它进行限定。

entity
Object

要附加的 Object

例外

entitynull

无效的实体集。

- 或 -

对象具有临时键。

- 或 -

对象具有 EntityKeyEntitySet 与作为方法自变量传入的实体集不匹配。

- 或 -

对象没有 EntityKey,且未提供任何实体集。

- 或 -

对象图中的任何对象都具有临时 EntityKey

- 或 -

对象图中的任何对象都具有无效的 EntityKey(例如,键中的值与对象中的值不匹配)。

- 或 -

未能根据给定的 entitySetName 名称和实体容器名称找到实体集。

- 或 -

对象图中的任何对象都已存在于另一个状态管理器中。

注解

调用 AttachTo 上的 ObjectContext 以将对象附加到对象上下文中的特定实体集,或者如果对象在 Visual Basic 中具有 null (Nothing) EntityKey 值。 有关详细信息,请参阅附加和分离对象

要附加的对象可以是单个对象,也可以是对象图的一部分。

格式的规则 entitySetName 如下所示:

  • DefaultContainerName如果 属性为 null,则必须entitySetName实体容器名称>中<将 完全限定为 。<实体集名称>

  • DefaultContainerName如果 不是 null,则 entitySetName 可以是实体容器名称>之一<<实体集名称><实体集名称>

要附加的对象不需要 EntityKey 与其关联。 如果对象没有实体键,则 entitySetName 不能为空字符串。

如果附加的对象具有 EntityKeyentitySetName具有 值,则EntitySet实体键的 必须与基于 和 实体容器名称找到的 entitySetName 匹配EntitySet

适用于

另请参阅