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 obiekcie ObjectContext.

Wyjątki

Źródłem obiektu 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 Value powiązany obiekt jest uzyskiwany z właściwości .

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 metodzie , EntityCollection<TEntity>a w przypadku relacji jeden do jednego wywołaj metodę w metodzie LoadEntityReference<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 (For Each...Next w Visual Basic) i warunkowo wywołać Load metodę foreach dla EntityReference<TEntity> każdej jednostki w wynikach i EntityCollection<TEntity> właściwości.

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

Nuta

Podczas wywoływania Load metody podczas foreach wyliczania (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 List<T> kolekcji. Spowoduje to zamknięcie czytnika danych i umożliwi wyliczanie kolekcji w celu załadowania odwołanych obiektów.

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

Gdy powiązany obiekt jest już załadowany w obiekcie ObjectContext, Load metoda wymusza MergeOption określony przez mergeOption parametr . Aby uzyskać więcej informacji, zobacz Rozwiązywanie tożsamości, Zarządzanie stanem i Śledzenie zmian.

Dotyczy

Zobacz też