QueryableExtensions.Include Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.