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 pro tento EntityReference<TEntity> objekt se 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 objekt vrácen, pokud již existuje v objektu ObjectContext.
Výjimky
Zdroj EntityReference<TEntity> je null.
-nebo-
Dotaz vrátil více než jeden související konec.
-nebo-
Dotaz vrátil nula souvisejících konců a byl očekáváný jeden související konec.
Poznámky
Tato metoda se používá k načtení souvisejícího objektu.
Při načtení se k souvisejícímu objektu Value přistupuje z vlastnosti.
Chcete-li explicitně načíst související objekty, je nutné volat Load metodu na souvisejícím konci vrácenou navigační vlastností. U relace 1:N volejte metodu Load pro EntityCollection<TEntity>relaci 1:N a pro relaci 1:1 zavolejte na LoadEntityReference<TEntity>. Tím se načte související data objektu do kontextu objektu. Když dotaz vrátí výsledky, můžete vytvořit výčet kolekcí objektů pomocí foreach smyčky (For Each...Next v jazyce Visual Basic) a podmíněně volat metodu LoadEntityReference<TEntity> pro EntityCollection<TEntity> každou entitu ve výsledcích.
Metoda Load načte související objekty ze zdroje dat bez ohledu na IsLoaded to, zda je true.
Poznámka
Když voláte metodu během výčtu Loadforeach (C#) nebo For Each (Visual Basic), služba 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ím řetězci. Výsledek dotazu můžete také načíst do List<T> kolekce. Tím se čtečka dat zavře a umožní vám vytvořit výčet nad kolekcí, aby se načetly odkazované objekty.
Tato metoda volá interní RelatedEnd.ValidateLoad metodu před načtením souvisejícího objektu, který ověří, že volání Load má správné podmínky. Metoda RelatedEnd.ValidateLoad zkontroluje, že:
- Existuje platný ObjectContext .
- Entita není ve Deleted stavu.
- MergeOption musí Load být NoTracking v případě, že zdrojová entita byla a pouze v případě, že zdrojová entita byla NoTracking. Pokud byla zdrojová entita načtena s jakoukoli jinou MergeOptionentitou, LoadMergeOption může to být cokoli, ale NoTracking (například entita mohla být načtena OverwriteChanges a Load možnost může být AppendOnly).
- Pokud
mergeOptionje NoTracking, Load není volána u již načtené entity a Load není volána na neprázdné, nesledované RelatedEnd.
Pokud je související objekt již načten v ObjectContext, Load metoda vynucuje MergeOption zadaný mergeOption parametr. Další informace najdete v tématu Řešení identit, správa stavu a sledování změn.