다음을 통해 공유


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.

-또는-

쿼리가 둘 이상의 관련 끝을 반환했습니다.

-또는-

쿼리가 0개의 관련 끝을 반환했고 하나의 관련 끝이 예상되었습니다.

설명

이 메서드는 관련 개체를 로드하는 데 사용됩니다.

로드되면 Value 속성에서 관련 개체에 액세스합니다.

관련 개체를 명시적으로 로드하려면 탐색 속성에서 반환된 관련 끝에서 Load 메서드를 호출해야 합니다. 일 대 다 관계의 경우 EntityCollection<TEntity>Load 메서드를 호출하고 일대일 관계에 대해 EntityReference<TEntity>Load 호출합니다. 그러면 관련 개체 데이터가 개체 컨텍스트로 로드됩니다. 쿼리가 결과를 반환하는 경우 foreach 루프(Visual Basic의For Each...Next)를 사용하여 개체 컬렉션을 열거하고 결과의 각 엔터티에 대한 EntityReference<TEntity>EntityCollection<TEntity> 속성에 대해 Load 메서드를 조건부로 호출할 수 있습니다.

Load 메서드는 IsLoadedtrue여부와 관계없이 데이터 원본에서 관련 개체를 로드합니다.

메모

foreach(C#) 또는 For Each(Visual Basic) 열거형 중에 Load 메서드를 호출하면 Object Services에서 새 데이터 판독기를 열려고 시도합니다. 연결 문자열에 multipleactiveresultsets=true 지정하여 여러 활성 결과 집합을 사용하도록 설정하지 않으면 이 작업이 실패합니다. 쿼리 결과를 List<T> 컬렉션에 로드할 수도 있습니다. 이렇게 하면 데이터 판독기를 닫고 참조된 개체를 로드하기 위해 컬렉션을 열거할 수 있습니다.

이 메서드는 관련 개체를 로드하기 전에 내부 RelatedEnd.ValidateLoad 메서드를 호출하여 Load 호출에 올바른 조건이 있는지 확인합니다. RelatedEnd.ValidateLoad 메서드는 다음을 확인합니다.

관련 개체가 이미 ObjectContext로드된 경우 Load 메서드는 mergeOption 매개 변수에 지정된 MergeOption 적용합니다. 자세한 내용은 ID 확인, 상태 관리 및 변경 내용 추적참조하세요.

적용 대상

추가 정보