EntityReference<TEntity>.Load(MergeOption) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Načte související objekt se EntityReference<TEntity> zadanou možností sloučení.
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
Určuje, jak má být vrácen objekt, pokud již existuje v objektu ObjectContext.
Výjimky
Zdrojem je EntityReference<TEntity>null
.
-nebo-
Dotaz vrátil více než jeden související konec.
-nebo-
Dotaz vrátil nula souvisejících konců a očekával se jeden související konec.
Poznámky
Tato metoda se používá k načtení souvisejícího objektu.
Při načtení se ke souvisejícímu objektu Value přistupuje z vlastnosti .
Chcete-li explicitně načíst související objekty, musíte volat metodu Load
na souvisejícím konci vrácenou navigační vlastností. Pro relaci 1:N zavolejte metodu Load pro EntityCollection<TEntity>a pro relaci 1:1 zavolejte metodu Load on EntityReference<TEntity>. Tím se data souvisejícího objektu načte do kontextu objektu. Když dotaz vrátí výsledky, můžete vytvořit výčet prostřednictvím kolekce objektů pomocí foreach
smyčky (For Each...Next
v jazyce Visual Basic) a podmíněně volat metodu Load
EntityReference<TEntity> a EntityCollection<TEntity> vlastnosti pro každou entitu ve výsledcích.
Metoda Load načte související objekty ze zdroje dat bez ohledu na to, zda je true
nebo není IsLoaded .
Poznámka
Když voláte metodu Load během výčtu foreach
(C#) nebo For Each
(Visual Basic), Object Services se pokusí otevřít novou čtečku dat. Tato operace selže, pokud jste nepovolili více aktivních sad výsledků zadáním multipleactiveresultsets=true
v připojovací řetězec. Výsledek dotazu můžete také načíst do List<T> kolekce. Tím zavřete čtečku dat a umožníte vytvořit výčet nad kolekcí a načíst odkazované objekty.
Tato metoda volá interní RelatedEnd.ValidateLoad
metodu před načtením souvisejícího objektu, která ověří, že volání má Load správné podmínky. Metoda RelatedEnd.ValidateLoad
zkontroluje, že:
- Existuje platný ObjectContext .
- Entita není ve Deleted stavu.
- MergeOption pro Load musí být NoTracking pouze v případě, že zdrojová entita byla NoTracking. Pokud byla zdrojová entita načtena s jakoukoli jinou entitou , může být cokoli NoTracking jiného než (například entita mohla být načtena OverwriteChanges a Load možnost může být AppendOnly).LoadMergeOptionMergeOption
- Pokud
mergeOption
je NoTracking, Load není volána u již načtené entity a Load není volána u neprázdné, nesledované RelatedEnd.
Pokud je související objekt již načten v objektu ObjectContextLoad , metoda vynucuje MergeOption hodnotu určenou parametrem mergeOption
. Další informace najdete v tématech Řešení identit, Správa stavu a Change Tracking.
Platí pro
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro