EntityReference<TEntity>.Load(MergeOption) メソッド

定義

指定されたマージ オプションを使用してこの EntityReference<TEntity> の関連オブジェクトを読み込みます。

public:
 override void Load(System::Data::Objects::MergeOption mergeOption);
public override void Load (System.Data.Objects.MergeOption mergeOption);
override this.Load : System.Data.Objects.MergeOption -> unit
Public Overrides Sub Load (mergeOption As MergeOption)

パラメーター

mergeOption
MergeOption

オブジェクトが既に ObjectContext に存在する場合にオブジェクトを返す方法を指定します。

例外

EntityReference<TEntity> のソースが null です。

- または -

クエリから複数の関連 End が返されました。

- または -

クエリから関連 End が返されませんでした。1 つの関連 End が必要です。

注釈

このメソッドは、関連オブジェクトを読み込むために使用されます。

読み込まれた関連オブジェクトには、Value プロパティからアクセスします。

関連オブジェクトを明示的に読み込むには、ナビゲーション プロパティによって返される関連する末尾で メソッドを呼び出す Load 必要があります。 一対多のリレーションシップの場合は、Load に対して EntityCollection<TEntity> メソッドを呼び出します。一対一のリレーションシップの場合は、Load に対して EntityReference<TEntity> を呼び出します。 これにより、関連オブジェクト データがオブジェクト コンテキストに読み込まれます。 クエリが結果を返すときは、ループ (For Each...NextVisual Basic では) を使用してforeachオブジェクトのコレクションを列挙し、結果内の各エンティティの および プロパティに対EntityReference<TEntity>して メソッドと EntityCollection<TEntity> プロパティを条件付きで呼び出Loadすことができます。

メソッドはLoad、 が であるかどうかにかかわらずIsLoadedtrue、データ ソースから関連オブジェクトを読み込みます。

注意

Load (C#) または foreach (Visual Basic) 列挙で、For Each メソッドを呼び出すと、Object Services は新たにデータ リーダーを開こうとします。 この操作は、接続文字列で multipleactiveresultsets=true を指定して複数のアクティブな結果セットを有効にしていない限り失敗します。 クエリの結果は、List<T> コレクションに読み込むこともできます。 この場合、データ リーダーが閉じ、コレクションを列挙して参照オブジェクトを読み込むことができます。

このメソッドは、関連オブジェクトを読み込む前に内部 RelatedEnd.ValidateLoad メソッドを呼び出します。これにより、 の Load 呼び出しが正しい条件を持っていることを検証します。 メソッドでは RelatedEnd.ValidateLoad 、次のことが確認されます。

関連オブジェクトが に既にObjectContext読み込まれている場合、 メソッドは Load パラメーターで指定された をMergeOptionmergeOption適用します。 詳しくは、「ID 解決、状態管理、および変更の追跡」をご覧ください。

適用対象

こちらもご覧ください