Compartir a través de


QueryableExtensions.Include Método

Definición

Sobrecargas

Include(IQueryable, String)

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

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

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

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

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

Include(IQueryable, String)

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

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

Parámetros

source
IQueryable

IQueryable Origen en el que se va a llamar a Include.

path
String

Lista separada por puntos de los objetos relacionados que se deben devolver en los resultados de la consulta.

Devoluciones

Nueva IQueryable con la ruta de la consulta definida.

Comentarios

Este método de extensión llama al método Include(String) del IQueryable objeto de origen, si existe dicho método. Si el origen IQueryable no tiene un método coincidente, este método no hace nada. Todos los ObjectQuerytipos , ObjectSet<TEntity>DbQuery y DbSet tienen un método Include adecuado para llamar. Las rutas son exhaustivas. Por ejemplo, si una llamada de inclusión indica Include("Orders.OrderLines"), no solo se incluirá OrderLines, sino también Orders. Cuando se llama al método Include, la ruta de acceso de consulta solo es válida en la instancia devuelta de IQueryable. Otras instancias de IQueryable y el contexto del objeto en sí no se ven afectados. Dado que el método Include devuelve el objeto de consulta, puede llamar a este método varias veces en para IQueryable especificar varias rutas de acceso para la consulta.

Se aplica a

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

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

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

Parámetros de tipo

T

Tipo de entidad que se consulta.

TProperty

Tipo de propiedad de navegación que se va a incluir.

Parámetros

source
IQueryable<T>

IQueryable de origen en que se llama a Include.

path
Expression<Func<T,TProperty>>

Expresión lambda que representa la ruta de acceso que se va a incluir.

Devoluciones

Nuevo IQueryable<T> con la ruta de acceso de consulta definida.

Atributos

Comentarios

La expresión de ruta de acceso debe estar compuesta de expresiones de acceso a propiedades simples junto con llamadas a Select para componer inclusión adicional después de incluir una propiedad de colección. Algunos ejemplos de rutas de acceso posibles son: Para incluir una única referencia: consulta. Include(e => e.Level1Reference) Para incluir una sola colección: query. Include(e => e.Level1Collection) Para incluir una referencia y, a continuación, una referencia de un nivel hacia abajo: consulta. Include(e => e.Level1Reference.Level2Reference) Para incluir una referencia y, a continuación, una colección de un nivel hacia abajo: consulta. Include(e => e.Level1Reference.Level2Collection) Para incluir una colección y, a continuación, una referencia de un nivel hacia abajo: consulta. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Para incluir una colección y, a continuación, una colección de un nivel hacia abajo: consulta. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Para incluir una colección y, a continuación, una referencia a un nivel hacia abajo: consulta. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Para incluir una colección y, a continuación, una colección de un nivel hacia abajo: consulta. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Para incluir una colección, una referencia y una referencia de dos niveles hacia abajo: consulta. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference.Level3Reference)) Para incluir una colección, una colección y una referencia de dos niveles hacia abajo: consulta. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection.Select(l2 => l2. Level3Reference))) Este método de extensión llama al método Include(String) del objeto IQueryable de origen, si existe este método. Si el objeto IQueryable de origen no tiene un método correspondiente, este método no hace nada. Todos los tipos ObjectQuery, ObjectSet, DbQuery y DbSet de Entity Framework tienen un método Include adecuado para llamar. Cuando se llama al método Include, la ruta de acceso de consulta solo es válida en la instancia devuelta de IQueryable<T>. Otras instancias de IQueryable<T> y el propio contexto del objeto no se ven afectados. Dado que el método Include devuelve el objeto de consulta, puede llamar a este método varias veces en un IQueryable<T> para especificar varias rutas de acceso para la consulta.

Se aplica a

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

Especifica los objetos relacionados que se van a incluir en los resultados de la consulta.

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)

Parámetros de tipo

T

Tipo de entidad que se consulta.

Parámetros

source
IQueryable<T>

IQueryable<T> Origen en el que se va a llamar a Include.

path
String

Lista separada por puntos de los objetos relacionados que se deben devolver en los resultados de la consulta.

Devoluciones

Nueva IQueryable<T> con la ruta de la consulta definida.

Comentarios

Este método de extensión llama al método Include(String) del IQueryable<T> objeto de origen, si existe dicho método. Si el origen IQueryable<T> no tiene un método coincidente, este método no hace nada. Todos los ObjectQuery<T>tipos , ObjectSet<TEntity>DbQuery<TResult> y DbSet<TEntity> tienen un método Include adecuado para llamar. Las rutas son exhaustivas. Por ejemplo, si una llamada de inclusión indica Include("Orders.OrderLines"), no solo se incluirá OrderLines, sino también Orders. Cuando se llama al método Include, la ruta de acceso de consulta solo es válida en la instancia devuelta de IQueryable<T>. Otras instancias de IQueryable<T> y el contexto del objeto en sí no se ven afectados. Dado que el método Include devuelve el objeto de consulta, puede llamar a este método varias veces en para IQueryable<T> especificar varias rutas de acceso para la consulta.

Se aplica a