QueryableExtensions.Include 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í.
Přetížení
Include(IQueryable, String) |
Určuje související objekty, které se mají zahrnout do výsledků dotazu. |
Include<T,TProperty>(IQueryable<T>, Expression<Func<T,TProperty>>) |
Určuje související objekty, které se mají zahrnout do výsledků dotazu. |
Include<T>(IQueryable<T>, String) |
Určuje související objekty, které se mají zahrnout do výsledků dotazu. |
Include(IQueryable, String)
Určuje související objekty, které se mají zahrnout do výsledků dotazu.
public static System.Linq.IQueryable Include (this System.Linq.IQueryable source, string path);
static member Include : System.Linq.IQueryable * string -> System.Linq.IQueryable
<Extension()>
Public Function Include (source As IQueryable, path As String) As IQueryable
Parametry
- source
- IQueryable
Zdroj IQueryable , ze kterého se má volat funkce Include.
- path
- String
Seznam souvisejících objektů oddělených tečkami, které se mají vrátit ve výsledcích dotazu.
Návraty
Nový IQueryable s definovanou cestou dotazu.
Poznámky
Tato rozšiřující metoda volá metodu Include(String) zdrojového IQueryable objektu, pokud taková metoda existuje. Pokud zdroj IQueryable nemá odpovídající metodu, pak tato metoda neprovede nic. Všechny ObjectQuerytypy , DbQueryObjectSet<TEntity>a DbSet mají odpovídající metodu Include, která se má volat. Cesty jsou all-inclusive. Pokud například volání zahrnutí označuje Include("Orders.OrderLines"), budou zahrnuty nejen OrderLines, ale také Orders. Při volání metody Include je cesta k dotazu platná pouze pro vrácenou instanci objektu IQueryable. Jiné instance objektu a samotný kontext objektu IQueryable nejsou ovlivněny. Vzhledem k tomu, Include metoda vrátí objekt dotazu, můžete tuto metodu volat vícekrát na objektu IQueryable a zadat více cest pro dotaz.
Platí pro
Include<T,TProperty>(IQueryable<T>, Expression<Func<T,TProperty>>)
Určuje související objekty, které se mají zahrnout do výsledků dotazu.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
public static System.Linq.IQueryable<T> Include<T,TProperty> (this System.Linq.IQueryable<T> source, System.Linq.Expressions.Expression<Func<T,TProperty>> path);
static member Include : System.Linq.IQueryable<'T> * System.Linq.Expressions.Expression<Func<'T, 'Property>> -> System.Linq.IQueryable<'T>
<Extension()>
Public Function Include(Of T, TProperty) (source As IQueryable(Of T), path As Expression(Of Func(Of T, TProperty))) As IQueryable(Of T)
Parametry typu
- T
Typ dotazované entity.
- TProperty
Typ zahrnuté navigační vlastnosti.
Parametry
- source
- IQueryable<T>
Zdroj IQueryable, na kterém se má volat Include.
- path
- Expression<Func<T,TProperty>>
Výraz lambda představující cestu, která se má zahrnout.
Návraty
Nový IQueryable<T> s definovanou cestou dotazu.
- Atributy
Poznámky
Výraz path se musí skládat z jednoduchých výrazů pro přístup k vlastnostem spolu s voláním příkazu Select pro vytvoření dalších zahrnutí po zahrnutí kolekce proprty. Příklady možných cest zahrnutí: Zahrnutí jediného odkazu: dotaz. Include(e => e.Level1Reference) Zahrnutí jedné kolekce: dotaz. Include(e => e.Level1Collection) Chcete-li zahrnout odkaz a potom odkaz o jednu úroveň dolů: dotaz. Include(e => e.Level1Reference.Level2Reference) Zahrnutí odkazu a potom kolekce o jednu úroveň nižší: dotaz. Include(e => e.Level1Reference.Level2Collection) Zahrnutí kolekce a následný odkaz o jednu úroveň dolů: dotaz. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Zahrnutí kolekce a potom kolekce o jednu úroveň nižší: dotaz. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Zahrnutí kolekce a následného odkazu o jednu úroveň nižší: dotaz. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Zahrnutí kolekce a potom kolekce o jednu úroveň nižší: dotaz. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Zahrnutí kolekce, odkazu a odkazu o dvě úrovně dolů: dotaz. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference.Level3Reference)) Zahrnutí kolekce, kolekce a odkazu o dvě úrovně dolů: dotaz. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection.Select(l2 => l2. Level3Reference))) Tato rozšiřující metoda volá metodu Include(String) zdrojového objektu IQueryable, pokud taková metoda existuje. Pokud zdroj IQueryable nemá odpovídající metodu, pak tato metoda neprovede nic. Všechny typy Entity Framework ObjectQuery, ObjectSet, DbQuery a DbSet mají odpovídající metodu Include, která se má volat. Když voláte Metodu Include, cesta dotazu je platná pouze pro vrácenou instanci IQueryable<T>. Jiné instance IQueryable<T> a samotného kontextu objektu nejsou ovlivněny. Vzhledem k tomu, Include metoda vrátí dotaz objekt, můžete tuto metodu volat vícekrát na IQueryable<T> určit více cest pro dotaz.
Platí pro
Include<T>(IQueryable<T>, String)
Určuje související objekty, které se mají zahrnout do výsledků dotazu.
public static System.Linq.IQueryable<T> Include<T> (this System.Linq.IQueryable<T> source, string path);
static member Include : System.Linq.IQueryable<'T> * string -> System.Linq.IQueryable<'T>
<Extension()>
Public Function Include(Of T) (source As IQueryable(Of T), path As String) As IQueryable(Of T)
Parametry typu
- T
Typ dotazované entity.
Parametry
- source
- IQueryable<T>
Zdroj IQueryable<T> , ze kterého se má volat funkce Include.
- path
- String
Seznam souvisejících objektů oddělených tečkami, které se mají vrátit ve výsledcích dotazu.
Návraty
Nový IQueryable<T> s definovanou cestou dotazu.
Poznámky
Tato rozšiřující metoda volá metodu Include(String) zdrojového IQueryable<T> objektu, pokud taková metoda existuje. Pokud zdroj IQueryable<T> nemá odpovídající metodu, pak tato metoda neprovede nic. Všechny ObjectQuery<T>typy , DbQuery<TResult>ObjectSet<TEntity>a DbSet<TEntity> mají odpovídající metodu Include, která se má volat. Cesty jsou all-inclusive. Pokud například volání zahrnutí označuje Include("Orders.OrderLines"), budou zahrnuty nejen OrderLines, ale také Orders. Při volání metody Include je cesta k dotazu platná pouze pro vrácenou instanci objektu IQueryable<T>. Jiné instance objektu a samotný kontext objektu IQueryable<T> nejsou ovlivněny. Vzhledem k tomu, Include metoda vrátí objekt dotazu, můžete tuto metodu volat vícekrát na objektu IQueryable<T> a zadat více cest pro dotaz.
Platí pro
Entity Framework