Udostępnij za pośrednictwem


QueryableExtensions.Include Metoda

Definicja

Przeciążenia

Include(IQueryable, String)

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

Include<T,TProperty>(IQueryable<T>, Expression<Func<T,TProperty>>)

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

Include<T>(IQueryable<T>, String)

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

Include(IQueryable, String)

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

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

Źródło IQueryable , na którym ma wywołać funkcję Include.

path
String

Rozdzielona kropką lista powiązanych obiektów, które mają być zwracane w wynikach zapytania.

Zwraca

Nowa IQueryable z zdefiniowaną ścieżką zapytania.

Uwagi

Ta metoda rozszerzenia wywołuje metodę Include(String) obiektu źródłowego IQueryable , jeśli taka metoda istnieje. Jeśli źródło IQueryable nie ma zgodnej metody, ta metoda nic nie robi. Wszystkie ObjectQuerytypy , DbQueryObjectSet<TEntity>i DbSet mają odpowiednią metodę Include do wywołania. Ścieżki są all-inclusive. Jeśli na przykład wywołanie dołączania wskazuje wartość Include("Orders.OrderLines"), nie tylko zostanie uwzględniona kolejność, ale także zamówienia. Po wywołaniu metody Include ścieżka zapytania jest prawidłowa tylko w zwróconym wystąpieniu IQueryableklasy . Nie ma to wpływu na inne wystąpienia IQueryable kontekstu obiektu i samego kontekstu obiektu. Ponieważ metoda Include zwraca obiekt zapytania, można wywołać tę metodę wiele razy na obiekcie IQueryable , aby określić wiele ścieżek dla zapytania.

Dotyczy

Include<T,TProperty>(IQueryable<T>, Expression<Func<T,TProperty>>)

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

[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 jednostki, która jest odpytywana.

TProperty

Typ dołączonej właściwości nawigacji.

Parametry

source
IQueryable<T>

Źródłowa funkcja IQueryable, na której ma być wywoływana funkcja Include.

path
Expression<Func<T,TProperty>>

Wyrażenie lambda reprezentujące ścieżkę do uwzględnienia.

Zwraca

Nowa funkcja IQueryable<T> ze zdefiniowaną ścieżką zapytania.

Atrybuty

Uwagi

Wyrażenie ścieżki musi składać się z prostych wyrażeń dostępu do właściwości wraz z wywołaniami opcji Wybierz, aby utworzyć dodatkowe elementy dołączane po włączeniu proprty kolekcji. Przykłady możliwych ścieżek to: aby uwzględnić jedno odwołanie: zapytanie. Include(e => e.Level1Reference) Aby uwzględnić pojedynczą kolekcję: zapytanie. Include(e => e.Level1Collection) Aby dołączyć odwołanie, a następnie odwołanie do jednego poziomu w dół: zapytanie. Include(e => e.Level1Reference.Level2Reference) Aby dołączyć odwołanie, a następnie kolekcję o jeden poziom w dół: zapytanie. Include(e => e.Level1Reference.Level2Collection) Aby uwzględnić kolekcję, a następnie odwołanie do jednego poziomu w dół: zapytanie. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Aby dołączyć kolekcję, a następnie kolekcję o jeden poziom w dół: zapytanie. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Aby dołączyć kolekcję, a następnie odwołać się do jednego poziomu w dół: zapytanie. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Aby dołączyć kolekcję, a następnie kolekcję o jeden poziom w dół: zapytanie. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Aby dołączyć kolekcję, odwołanie i odwołanie do dwóch poziomów w dół: zapytanie. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference.Level3Reference)) Aby uwzględnić kolekcję, kolekcję i odwołanie do dwóch poziomów w dół: zapytanie. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection.Select(l2 => l2. Level3Reference))) Ta metoda rozszerzenia wywołuje metodę Include(String) źródłowego obiektu IQueryable, jeśli taka metoda istnieje. Jeśli źródłowa metoda IQueryable nie ma zgodnej metody, ta metoda nic nie robi. Typy Entity Framework ObjectQuery, ObjectSet, DbQuery i DbSet mają odpowiednią metodę Include do wywołania. Po wywołaniu metody Include ścieżka zapytania jest prawidłowa tylko w zwróconym wystąpieniu metody IQueryable<T>. Nie ma to wpływu na inne wystąpienia języka IQueryable<T> i sam kontekst obiektu. Ponieważ metoda Include zwraca obiekt zapytania, można wywołać tę metodę wiele razy w zapytaniu IQueryable<T> , aby określić wiele ścieżek dla zapytania.

Dotyczy

Include<T>(IQueryable<T>, String)

Określa powiązane obiekty do uwzględnienia w wynikach zapytania.

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 jednostki, która jest odpytywana.

Parametry

source
IQueryable<T>

Źródło IQueryable<T> , na którym ma wywołać funkcję Include.

path
String

Rozdzielona kropką lista powiązanych obiektów, które mają być zwracane w wynikach zapytania.

Zwraca

Nowa IQueryable<T> z zdefiniowaną ścieżką zapytania.

Uwagi

Ta metoda rozszerzenia wywołuje metodę Include(String) obiektu źródłowego IQueryable<T> , jeśli taka metoda istnieje. Jeśli źródło IQueryable<T> nie ma zgodnej metody, ta metoda nic nie robi. Wszystkie ObjectQuery<T>typy , DbQuery<TResult>ObjectSet<TEntity>i DbSet<TEntity> mają odpowiednią metodę Include do wywołania. Ścieżki są all-inclusive. Jeśli na przykład wywołanie dołączania wskazuje wartość Include("Orders.OrderLines"), nie tylko zostanie uwzględniona kolejność, ale także zamówienia. Po wywołaniu metody Include ścieżka zapytania jest prawidłowa tylko w zwróconym wystąpieniu IQueryable<T>klasy . Nie ma to wpływu na inne wystąpienia IQueryable<T> kontekstu obiektu i samego kontekstu obiektu. Ponieważ metoda Include zwraca obiekt zapytania, można wywołać tę metodę wiele razy na obiekcie IQueryable<T> , aby określić wiele ścieżek dla zapytania.

Dotyczy