Sdílet prostřednictvím


QueryableExtensions.Include Metoda

Definice

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