EntityFrameworkQueryableExtensions.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<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>) |
Especifica las entidades relacionadas que se van a incluir en los resultados de la consulta. La propiedad de navegación que se va a incluir se especifica a partir del tipo de entidad que se consulta ( |
Include<TEntity>(IQueryable<TEntity>, String) |
Especifica las entidades relacionadas que se van a incluir en los resultados de la consulta. La propiedad de navegación que se va a incluir se especifica a partir del tipo de entidad que se consulta ( |
Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>)
Especifica las entidades relacionadas que se van a incluir en los resultados de la consulta. La propiedad de navegación que se va a incluir se especifica a partir del tipo de entidad que se consulta (TEntity
). Si desea incluir tipos adicionales en función de las propiedades de navegación del tipo que se va a incluir, encadene una llamada a ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,
IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty,
TProperty>>) después de esta llamada.
public static Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,TProperty> Include<TEntity,TProperty> (this System.Linq.IQueryable<TEntity> source, System.Linq.Expressions.Expression<Func<TEntity,TProperty>> navigationPropertyPath) where TEntity : class;
static member Include : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * System.Linq.Expressions.Expression<Func<'Entity, 'Property>> -> Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, 'Property (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function Include(Of TEntity As Class, TProperty As Class) (source As IQueryable(Of TEntity), navigationPropertyPath As Expression(Of Func(Of TEntity, TProperty))) As IIncludableQueryable(Of TEntity, TProperty)
Parámetros de tipo
- TEntity
Tipo de entidad que se consulta.
- TProperty
Tipo de la entidad relacionada que se va a incluir.
Parámetros
- source
- IQueryable<TEntity>
Consulta de origen.
- navigationPropertyPath
- Expression<Func<TEntity,TProperty>>
Expresión lambda que representa la propiedad de navegación que se va a incluir (t => t.Property1
).
Devoluciones
Nueva consulta con los datos relacionados incluidos.
Excepciones
source
o navigationPropertyPath
es null
.
Ejemplos
En la consulta siguiente se muestra cómo incluir un único nivel de entidades relacionadas:
context.Blogs.Include(blog => blog.Posts)
En la consulta siguiente se muestran dos niveles de entidades en la misma rama:
context.Blogs
.Include(blog => blog.Posts).ThenInclude(post => post.Tags)
En la consulta siguiente se muestran varios niveles y ramas de datos relacionados:
context.Blogs
.Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo)
.Include(blog => blog.Contributors)
En la consulta siguiente se muestra cómo incluir un único nivel de entidades relacionadas en un tipo derivado mediante la conversión:
context.Blogs.Include(blog => ((SpecialBlog)blog).SpecialPosts)
En la consulta siguiente se muestra cómo incluir un único nivel de entidades relacionadas en un tipo derivado mediante el operador "as":
context.Blogs.Include(blog => (blog as SpecialBlog).SpecialPosts)
Comentarios
Consulte Carga de entidades relacionadas para obtener más información y ejemplos.
Se aplica a
Include<TEntity>(IQueryable<TEntity>, String)
Especifica las entidades relacionadas que se van a incluir en los resultados de la consulta. La propiedad de navegación que se va a incluir se especifica a partir del tipo de entidad que se consulta (TEntity
). Las propiedades de navegación adicionales que se van a incluir se pueden anexar, separadas por el carácter ".".
public static System.Linq.IQueryable<TEntity> Include<TEntity> (this System.Linq.IQueryable<TEntity> source, string navigationPropertyPath) where TEntity : class;
static member Include : System.Linq.IQueryable<'Entity (requires 'Entity : null)> * string -> System.Linq.IQueryable<'Entity (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function Include(Of TEntity As Class) (source As IQueryable(Of TEntity), navigationPropertyPath As String) As IQueryable(Of TEntity)
Parámetros de tipo
- TEntity
Tipo de entidad que se consulta.
Parámetros
- source
- IQueryable<TEntity>
Consulta de origen.
- navigationPropertyPath
- String
Cadena de nombres de propiedad de navegación separados "." que se van a incluir.
Devoluciones
Nueva consulta con los datos relacionados incluidos.
Excepciones
source
o navigationPropertyPath
es null
.
navigationPropertyPath
está vacío o está en blanco.
Ejemplos
En la consulta siguiente se muestra cómo incluir un único nivel de entidades relacionadas:
context.Blogs.Include("Posts")
En la consulta siguiente se muestran dos niveles de entidades en la misma rama:
context.Blogs.Include("Posts.Tags")
En la consulta siguiente se muestran varios niveles y ramas de datos relacionados:
context.Blogs
.Include("Posts.Tags.TagInfo')
.Include("Contributors")
Comentarios
Consulte Carga de entidades relacionadas para obtener más información y ejemplos.