Condividi tramite


QueryableExtensions.Include Metodo

Definizione

Overload

Include(IQueryable, String)

Specifica gli oggetti correlati da includere nei risultati della query.

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

Specifica gli oggetti correlati da includere nei risultati della query.

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

Specifica gli oggetti correlati da includere nei risultati della query.

Include(IQueryable, String)

Specifica gli oggetti correlati da includere nei risultati della query.

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

Parametri

source
IQueryable

Origine IQueryable in cui chiamare Include.

path
String

Elenco di oggetti correlati separato da punti da restituire nei risultati della query.

Restituisce

Nuovo oggetto IQueryable con il percorso della query definito.

Commenti

Questo metodo di estensione chiama il metodo Include(String) dell'oggetto di origine IQueryable , se tale metodo esiste. Se l'origine IQueryable non ha un metodo corrispondente, questo metodo non fa nulla. I ObjectQuerytipi , DbQueryObjectSet<TEntity>e DbSet hanno tutti un metodo Include appropriato da chiamare. I percorsi sono inclusivi. Ad esempio, se una chiamata di inclusione indica Include("Orders.OrderLines"), non solo OrderLines verrà incluso, ma anche Orders. Quando si chiama il metodo Include, il percorso di query è valido solo nell'istanza restituita di IQueryable. Le altre istanze di IQueryable e il contesto dell'oggetto stesso non sono interessati. Poiché il metodo Include restituisce l'oggetto query, è possibile chiamare questo metodo più volte su un IQueryable per specificare più percorsi per la query.

Si applica a

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

Specifica gli oggetti correlati da includere nei risultati della query.

[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)

Parametri di tipo

T

Tipo di entità sottoposta a query.

TProperty

Tipo di proprietà di navigazione inclusa.

Parametri

source
IQueryable<T>

Oggetto IQueryable di origine sul quale chiamare Include.

path
Expression<Func<T,TProperty>>

Espressione lambda che rappresenta il percorso da includere.

Restituisce

Nuovo oggetto IQueryable<T> con il percorso di query definito.

Attributi

Commenti

L'espressione di percorso deve essere composta da espressioni di accesso alle proprietà semplici insieme alle chiamate a Select per la composizione di elementi aggiuntivi dopo aver incluso una raccolta proprty. Esempi di possibili percorsi di inclusione sono: per includere un singolo riferimento: query. Include(e => e.Level1Reference) Per includere una singola raccolta: query. Include(e => e.Level1Collection) Per includere un riferimento e quindi un riferimento a un livello inferiore: query. Include(e => e.Level1Reference.Level2Reference) Per includere un riferimento e quindi una raccolta a un livello inferiore: query. Include(e => e.Level1Reference.Level2Collection) Per includere una raccolta e quindi un riferimento a un livello inferiore: query. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Per includere una raccolta e quindi una raccolta a un livello inferiore: query. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Per includere una raccolta e quindi un riferimento a un livello inferiore: query. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Per includere una raccolta e quindi una raccolta a un livello inferiore: query. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Per includere una raccolta, un riferimento e due livelli di riferimento: query. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference.Level3Reference)) Per includere una raccolta, una raccolta e due livelli di riferimento: query. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection.Select(l2 => l2. Level3Reference))) Questo metodo di estensione chiama il metodo Include(String) dell'oggetto IQueryable di origine, se tale metodo esiste. Se l'oggetto IQueryable di origine non dispone di un metodo corrispondente, questo metodo non esegue alcuna operazione. I tipi Entity Framework ObjectQuery, ObjectSet, DbQuery e DbSet hanno tutti un metodo Include appropriato da chiamare. Quando si chiama il metodo Include, il percorso della query è valido solo nell'istanza restituita di IQueryable<T>. Altre istanze di IQueryable<T> e il contesto dell'oggetto stesso non sono interessati. Poiché il metodo Include restituisce l'oggetto query, è possibile chiamare questo metodo più volte in un metodo IQueryable<T> per specificare più percorsi per la query.

Si applica a

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

Specifica gli oggetti correlati da includere nei risultati della query.

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)

Parametri di tipo

T

Tipo di entità sottoposta a query.

Parametri

source
IQueryable<T>

Origine IQueryable<T> in cui chiamare Include.

path
String

Elenco di oggetti correlati separato da punti da restituire nei risultati della query.

Restituisce

Nuovo oggetto IQueryable<T> con il percorso della query definito.

Commenti

Questo metodo di estensione chiama il metodo Include(String) dell'oggetto di origine IQueryable<T> , se tale metodo esiste. Se l'origine IQueryable<T> non ha un metodo corrispondente, questo metodo non fa nulla. I ObjectQuery<T>tipi , DbQuery<TResult>ObjectSet<TEntity>e DbSet<TEntity> hanno tutti un metodo Include appropriato da chiamare. I percorsi sono inclusivi. Ad esempio, se una chiamata di inclusione indica Include("Orders.OrderLines"), non solo OrderLines verrà incluso, ma anche Orders. Quando si chiama il metodo Include, il percorso di query è valido solo nell'istanza restituita di IQueryable<T>. Le altre istanze di IQueryable<T> e il contesto dell'oggetto stesso non sono interessati. Poiché il metodo Include restituisce l'oggetto query, è possibile chiamare questo metodo più volte su un IQueryable<T> per specificare più percorsi per la query.

Si applica a