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 verbundene Objekt für diesen EntityReference<TEntity> mit der angegebenen Mergeoption.
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 im ObjectContext vorhanden ist.
Ausnahmen
Die Quelle der EntityReference<TEntity> ist null
.
- oder -
Eine Abfrage hat mehr als ein verknüpftes Ende zurückgegeben.
- oder -
Eine Abfrage hat keine verknüpften Enden zurückgegeben, obwohl ein verknüpftes Ende erwartet wurde.
Hinweise
Diese Methode wird verwendet, um das verbundene Objekt zu laden.
Nachdem es geladen wurde, wird auf das verbundene Objekt mit der Value-Eigenschaft zugegriffen.
Um verwandte Objekte explizit zu laden, müssen Sie die Load
-Methode am zugehörigen Ende aufrufen, das von der Navigationseigenschaft zurückgegeben wird. Rufen Sie für eine 1:n-Beziehung die Load-Methode für EntityCollection<TEntity> auf und für eine 1:1-Beziehung die Load-Methode für EntityReference<TEntity>. Dadurch werden die Daten der verbundenen Objekte 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) auflisten und die -Methode EntityReference<TEntity> für und EntityCollection<TEntity> die Load
Eigenschaften für jede Entität in den Ergebnissen bedingt aufrufen.
Die Load -Methode lädt verwandte Objekte aus der Datenquelle, unabhängig davon, ob es sich um true
handelt oder nichtIsLoaded.
Hinweis
Beim Aufruf der Load-Methode in einer foreach
(C#)- oder For Each
(Visual Basic)-Enumeration wird von Object Services ein neuer Datenleser geöffnet. Diese Operation schlägt fehl, es sei denn, es wurde "Multiple Active Result Sets" aktiviert, indem in der Verbindungszeichenfolge multipleactiveresultsets=true
angegeben wurde. Das Ergebnis der Abfrage kann auch in eine List<T>-Auflistung geladen werden. Dadurch wird der Datenreader geschlossen, und die Auflistung kann durchlaufen werden, um Objekte, auf die verwiesen wird, zu laden.
Diese Methode ruft die interne RelatedEnd.ValidateLoad
Methode auf, bevor das zugehörige Objekt geladen wird, wodurch überprüft wird, ob ein Aufruf von Load die richtigen Bedingungen aufweist. Die RelatedEnd.ValidateLoad
-Methode überprüft Folgendes:
- Ein gültiges ObjectContext ist vorhanden.
- Die Entität befindet sich nicht in einem Deleted Zustand.
- MergeOption for Load muss wenn und nur sein NoTracking , wenn die Quellentität lautet NoTracking. Wenn die Quellentität mit einer anderen MergeOptionabgerufen wurde, kann es LoadMergeOption sich um einen beliebigen Wert handeln, außer NoTracking (z. B. hätte die Entität mit OverwriteChanges geladen werden können, und die Load Option kann sein AppendOnly).
- Wenn
mergeOption
ist NoTracking, Load wird nicht für eine bereits geladene Entität aufgerufen und Load nicht für eine nicht leere, nicht nachverfolgte RelatedEndEntität aufgerufen.
Wenn das zugehörige Objekt bereits in geladen ObjectContextist, erzwingt die Load -Methode das MergeOption durch den mergeOption
-Parameter angegebene. Weitere Informationen finden Sie unter Identitätsauflösung, Statusverwaltung und Änderungsnachverfolgung.
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für