EntityReference<TEntity>.Load(MergeOption) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Lädt das zugehörige Objekt dafür EntityReference<TEntity> mit der angegebenen Zusammenführungsoption.
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)
Parameter
- mergeOption
- MergeOption
Gibt an, wie das Objekt zurückgegeben werden soll, wenn es bereits in der ObjectContext.
Ausnahmen
Die Quelle des ist EntityReference<TEntity>null.
-oder-
Eine Abfrage hat mehr als ein verwandtes Ende zurückgegeben.
-oder-
Eine Abfrage hat null verwandte Enden zurückgegeben, und ein verwandtes Ende wurde erwartet.
Hinweise
Diese Methode wird verwendet, um das zugehörige Objekt zu laden.
Beim Laden wird über die Value Eigenschaft auf das zugehörige Objekt zugegriffen.
Um verwandte Objekte explizit zu laden, müssen Sie die Load Methode für das zugehörige Ende aufrufen, das von der Navigationseigenschaft zurückgegeben wird. Rufen Sie für eine 1:n-Beziehung die Load Methode ein EntityCollection<TEntity>, und rufen Sie für eine 1:1-Beziehung das On LoadEntityReference<TEntity>auf. Dadurch werden die zugehörigen Objektdaten in den Objektkontext geladen. Wenn eine Abfrage Ergebnisse zurückgibt, können Sie die Auflistung von Objekten mithilfe einer foreach Schleife (For Each...Next in Visual Basic) aufzählen und die Load Methode für EntityReference<TEntity>EntityCollection<TEntity> jede Entität in den Ergebnissen bedingt aufrufen.
Die Load Methode lädt verwandte Objekte aus der Datenquelle, unabhängig davon, ob dies der IsLoaded Wert ist true.
Anmerkung
Wenn Sie die Load Methode während einer foreach (C#)- oder For Each (Visual Basic)-Aufzählung aufrufen, versucht Object Services, einen neuen Datenleser zu öffnen. Dieser Vorgang schlägt fehl, es sei denn, Sie haben mehrere aktive Resultsets aktiviert, indem Sie in der Verbindungszeichenfolge angeben multipleactiveresultsets=true . Sie können auch das Ergebnis der Abfrage in eine List<T> Sammlung laden. Dadurch wird der Datenleser geschlossen, und Sie können die Auflistung aufzählen, um referenzierte Objekte zu laden.
Diese Methode ruft die interne RelatedEnd.ValidateLoad Methode auf, bevor das zugehörige Objekt geladen wird. Dadurch wird überprüft, ob ein Aufruf Load über die richtigen Bedingungen verfügt. Die RelatedEnd.ValidateLoad Methode überprüft Folgendes:
- Es ist ein gültiger ObjectContext Wert vorhanden.
- Die Entität befindet sich nicht in einem Deleted Zustand.
- MergeOption Load for must be NoTracking if and only if and only if the source entity was NoTracking. Wenn die Quellentität mit einer anderen MergeOptionEntität abgerufen wurde, kann esMergeOptionLoadsich um etwas handeln, das jedoch NoTracking möglich ist (z. B. könnte die Entität geladen OverwriteChanges worden sein und die Load Option kann seinAppendOnly).
- Ist
mergeOptiondies NoTrackingder Fehler , Load wird nicht für eine bereits geladene Entität aufgerufen und Load wird nicht für eine nicht leere, nicht nachverfolgte RelatedEndEntität aufgerufen.
Wenn das zugehörige Objekt bereits in der ObjectContextDatei geladen ist, erzwingt die Load Methode den MergeOption durch den mergeOption Parameter angegebenen Wert. Weitere Informationen finden Sie unter Identitätsauflösung, Zustandsverwaltung und Änderungsnachverfolgung.