ObjectContext.Attach(IEntityWithKey) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトがエンティティ キーを持つ場合にオブジェクトまたはオブジェクト グラフをオブジェクト コンテキストにアタッチします。
public:
void Attach(System::Data::Objects::DataClasses::IEntityWithKey ^ entity);
public void Attach (System.Data.Objects.DataClasses.IEntityWithKey entity);
member this.Attach : System.Data.Objects.DataClasses.IEntityWithKey -> unit
Public Sub Attach (entity As IEntityWithKey)
パラメーター
- entity
- IEntityWithKey
アタッチするオブジェクト。
例外
entity
が null
です。
エンティティ キーが無効です。
例
この例では、2 つのオブジェクトをアタッチしてリレーションシップを定義します。
private static void AttachRelatedObjects(
ObjectContext currentContext,
SalesOrderHeader detachedOrder,
List<SalesOrderDetail> detachedItems)
{
// Attach the root detachedOrder object to the supplied context.
currentContext.Attach(detachedOrder);
// Attach each detachedItem to the context, and define each relationship
// by attaching the attached SalesOrderDetail object to the EntityCollection on
// the SalesOrderDetail navigation property of the now attached detachedOrder.
foreach (SalesOrderDetail item in detachedItems)
{
currentContext.Attach(item);
detachedOrder.SalesOrderDetails.Attach(item);
}
}
注釈
オブジェクトをオブジェクト コンテキストにアタッチするには、Attach で ObjectContext を呼び出します。 この方法は、オブジェクトが既にデータ ソースに存在するが、現在コンテキストにアタッチされていない場合に使用します。 詳細については、 オブジェクトのカスタマイジングを参照してください。
Attach は、オブジェクト グラフ内のオブジェクトまたは最上位のオブジェクトをアタッチするために使用されます。
アタッチされるオブジェクトは、IEntityWithKey を実装して EntityKey を公開する必要があります。 生成されたエンティティ クラスは、すべて IEntityWithKey を実装しています。
関連オブジェクトをアタッチする場合は、 または EntityCollection<TEntity> をEntityReference<TEntity>呼び出してAttach
リレーションシップを定義する必要もあります。
このメソッドは、AttachTo メソッドを呼び出します。
オブジェクトをアタッチする際は、次の点に注意してください。
アタッチされるオブジェクトに関連オブジェクトがある場合、それらの関連オブジェクトもオブジェクト コンテキストにアタッチされます。
オブジェクトは未変更状態でオブジェクト コンテキストに追加されます。
Attach メソッドに渡されるオブジェクトには、有効な EntityKey 値が必要です。 オブジェクトに有効な EntityKey 値がない場合は、AttachTo メソッドを使用してエンティティ セットの名前を指定します。
適用対象
こちらもご覧ください
.NET