QueryableExtensions.Include Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.