Udostępnij za pośrednictwem


EntityReference<TEntity>.Load(MergeOption) Metoda

Definicja

Ładuje powiązany obiekt dla tego EntityReference<TEntity> z określoną opcją scalania.

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)

Parametry

mergeOption
MergeOption

Określa sposób zwracania obiektu, jeśli już istnieje w ObjectContext.

Wyjątki

Źródłem EntityReference<TEntity> jest null.

-lub-

Zapytanie zwróciło więcej niż jeden powiązany koniec.

-lub-

Zapytanie zwróciło zero powiązanych końców, a oczekiwano jednego powiązanego końca.

Uwagi

Ta metoda służy do ładowania powiązanego obiektu.

Po załadowaniu powiązany obiekt jest uzyskiwany z właściwości Value.

Aby jawnie załadować powiązane obiekty, należy wywołać metodę Load na powiązanym końcu zwróconym przez właściwość nawigacji. W przypadku relacji jeden do wielu wywołaj metodę Load w EntityCollection<TEntity>, a w przypadku relacji jeden do jednego wywołaj Load w EntityReference<TEntity>. Spowoduje to załadowanie powiązanych danych obiektu do kontekstu obiektu. Gdy zapytanie zwraca wyniki, można wyliczyć za pomocą kolekcji obiektów przy użyciu pętli foreach (For Each...Next w języku Visual Basic) i warunkowo wywołać metodę Load dla EntityReference<TEntity> i EntityCollection<TEntity> właściwości dla każdej jednostki w wynikach.

Metoda Load ładuje powiązane obiekty ze źródła danych, niezależnie od tego, czy IsLoaded jest true.

Nuta

Podczas wywoływania metody Load podczas wyliczania foreach (C#) lub For Each (Visual Basic) usługi Object Services próbują otworzyć nowy czytnik danych. Ta operacja zakończy się niepowodzeniem, chyba że włączono wiele aktywnych zestawów wyników, określając multipleactiveresultsets=true w parametrach połączenia. Możesz również załadować wynik zapytania do kolekcji List<T>. Spowoduje to zamknięcie czytnika danych i umożliwi wyliczanie kolekcji w celu załadowania odwołanych obiektów.

Ta metoda wywołuje wewnętrzną metodę RelatedEnd.ValidateLoad przed załadowaniem powiązanego obiektu, co sprawdza, czy wywołanie Load ma prawidłowe warunki. Metoda RelatedEnd.ValidateLoad sprawdza, czy:

Gdy powiązany obiekt jest już załadowany w ObjectContext, metoda Load wymusza MergeOption określony przez parametr mergeOption. Aby uzyskać więcej informacji, zobacz Identity Resolution, State Management i Change Tracking.

Dotyczy

Zobacz też