EntityReference<TEntity>.Load(MergeOption) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Laadt het gerelateerde object hiervoor EntityReference<TEntity> met de opgegeven optie voor samenvoegen.
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)
Parameters
- mergeOption
- MergeOption
Hiermee geeft u op hoe het object moet worden geretourneerd als het al bestaat in de ObjectContext.
Uitzonderingen
De bron van de EntityReference<TEntity> is null.
– of –
Een query heeft meer dan één gerelateerd einde geretourneerd.
– of –
Een query retourneerde nul gerelateerde einden en één gerelateerd einde werd verwacht.
Opmerkingen
Deze methode wordt gebruikt om het gerelateerde object te laden.
Wanneer het is geladen, wordt het gerelateerde object geopend vanuit de Value eigenschap.
Als u gerelateerde objecten expliciet wilt laden, moet u de Load methode aanroepen op het gerelateerde einde dat wordt geretourneerd door de navigatie-eigenschap. Voor een een-op-veel-relatie roept u de Load methode aan EntityCollection<TEntity>en voor een een-op-een-relatie roept u de Load aan EntityReference<TEntity>. Hiermee worden de gerelateerde objectgegevens in de objectcontext geladen. Wanneer een query resultaten retourneert, kunt u de verzameling objecten opsommen met behulp van een foreachlus (For Each...Next in Visual Basic) en de methode Load aanroepen op EntityReference<TEntity> en EntityCollection<TEntity> eigenschappen voor elke entiteit in de resultaten.
Met Load de methode worden gerelateerde objecten uit de gegevensbron geladen, ongeacht of dit wel of niet IsLoaded het is true.
Note
Wanneer u de methode Load aanroept tijdens een opsomming foreach (C#) of For Each (Visual Basic), probeert Object Services een nieuwe gegevenslezer te openen. Deze bewerking mislukt, tenzij u meerdere actieve resultatensets hebt ingeschakeld door multipleactiveresultsets=true op te geven in de verbindingsreeks. U kunt ook het resultaat van de query in een List<T> verzameling laden. Hiermee sluit u de gegevenslezer en kunt u de verzameling opsommen om objecten te laden waarnaar wordt verwezen.
Met deze methode wordt de interne RelatedEnd.ValidateLoad methode aangeroepen voordat het gerelateerde object wordt geladen, waarmee wordt gevalideerd dat een aanroep naar Load de juiste voorwaarden beschikt. De RelatedEnd.ValidateLoad methode controleert dat:
- Er bestaat een geldige ObjectContext waarde.
- De entiteit heeft geen Deleted status.
- MergeOptionmoet Load zijn NoTracking als en alleen als de bronentiteit .NoTracking Als de bronentiteit met een andere MergeOptionis opgehaald, kan het LoadMergeOption iets anders NoTracking zijn dan (de entiteit kan bijvoorbeeld zijn geladen met OverwriteChanges en de Load optie kan zijn AppendOnly).
- Als
mergeOptiondat het is NoTracking, Load wordt deze niet aangeroepen op een al geladen entiteit en Load wordt deze niet aangeroepen op een niet-lege, niet-bijgehouden RelatedEndentiteit.
Wanneer het gerelateerde object al in het ObjectContextobject is geladen, dwingt de Load methode de MergeOption opgegeven door de mergeOption parameter af. Zie Identiteitsomzetting, Statusbeheer en Wijzigingen bijhouden voor meer informatie.