EntityFrameworkQueryableExtensions.ThenInclude 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
ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,TPreviousProperty>, Expression<Func<TPreviousProperty,TProperty>>) |
Especifica datos relacionados adicionales que se incluirán más en función de un tipo relacionado que se acaba de incluir. |
ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) |
Especifica datos relacionados adicionales que se incluirán más en función de un tipo relacionado que se acaba de incluir. |
ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, ICollection<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) |
Especifica datos relacionados adicionales que se incluirán más en función de un tipo relacionado que se acaba de incluir. |
ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,TPreviousProperty>, Expression<Func<TPreviousProperty,TProperty>>)
Especifica datos relacionados adicionales que se incluirán más en función de un tipo relacionado que se acaba de incluir.
public static Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,TProperty> ThenInclude<TEntity,TPreviousProperty,TProperty> (this Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,TPreviousProperty> source, System.Linq.Expressions.Expression<Func<TPreviousProperty,TProperty>> navigationPropertyPath) where TEntity : class;
static member ThenInclude : Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, 'PreviousProperty (requires 'Entity : null)> * System.Linq.Expressions.Expression<Func<'PreviousProperty, 'Property>> -> Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, 'Property (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function ThenInclude(Of TEntity As Class, TPreviousProperty As Class, TProperty As Class) (source As IIncludableQueryable(Of TEntity, TPreviousProperty), navigationPropertyPath As Expression(Of Func(Of TPreviousProperty, TProperty))) As IIncludableQueryable(Of TEntity, TProperty)
Parámetros de tipo
- TEntity
Tipo de entidad que se consulta.
- TPreviousProperty
Tipo de la entidad que se acaba de incluir.
- TProperty
Tipo de la entidad relacionada que se va a incluir.
Parámetros
- source
- IIncludableQueryable<TEntity,TPreviousProperty>
Consulta de origen.
- navigationPropertyPath
- Expression<Func<TPreviousProperty,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.
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 muestran dos niveles de entidades en la misma rama, la segunda que se encuentra en el tipo derivado:
context.Blogs.Include(blog => blog.Posts).ThenInclude(post => ((SpecialPost)post).SpecialTags)
En la consulta siguiente se muestran dos niveles de entidades en la misma rama, la segunda que se encuentra en el tipo derivado mediante un método alternativo.
context.Blogs.Include(blog => blog.Posts).ThenInclude(post => (post as SpecialPost).SpecialTags)
Comentarios
Consulte Carga de entidades relacionadas para obtener más información y ejemplos.
Se aplica a
ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>)
Especifica datos relacionados adicionales que se incluirán más en función de un tipo relacionado que se acaba de incluir.
public static Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,TProperty> ThenInclude<TEntity,TPreviousProperty,TProperty> (this Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,System.Collections.Generic.IEnumerable<TPreviousProperty>> source, System.Linq.Expressions.Expression<Func<TPreviousProperty,TProperty>> navigationPropertyPath) where TEntity : class;
static member ThenInclude : Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, seq<'PreviousProperty> (requires 'Entity : null)> * System.Linq.Expressions.Expression<Func<'PreviousProperty, 'Property>> -> Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, 'Property (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function ThenInclude(Of TEntity As Class, TPreviousProperty As Class, TProperty As Class) (source As IIncludableQueryable(Of TEntity, IEnumerable(Of TPreviousProperty)), navigationPropertyPath As Expression(Of Func(Of TPreviousProperty, TProperty))) As IIncludableQueryable(Of TEntity, TProperty)
Parámetros de tipo
- TEntity
Tipo de entidad que se consulta.
- TPreviousProperty
Tipo de la entidad que se acaba de incluir.
- TProperty
Tipo de la entidad relacionada que se va a incluir.
Parámetros
- source
- IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>
Consulta de origen.
- navigationPropertyPath
- Expression<Func<TPreviousProperty,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.
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 muestran dos niveles de entidades en la misma rama, la segunda que se encuentra en el tipo derivado mediante la conversión:
context.Blogs.Include(blog => blog.Posts).ThenInclude(post => ((SpecialPost)post).SpecialTags)
En la consulta siguiente se muestran dos niveles de entidades en la misma rama, la segunda que se encuentra en el tipo derivado mediante el as
operador .
context.Blogs.Include(blog => blog.Posts).ThenInclude(post => (post as SpecialPost).SpecialTags)
Comentarios
Consulte Carga de entidades relacionadas para obtener más información y ejemplos.
Se aplica a
ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, ICollection<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>)
Especifica datos relacionados adicionales que se incluirán más en función de un tipo relacionado que se acaba de incluir.
public static Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,TProperty> ThenInclude<TEntity,TPreviousProperty,TProperty> (this Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<TEntity,System.Collections.Generic.ICollection<TPreviousProperty>> source, System.Linq.Expressions.Expression<Func<TPreviousProperty,TProperty>> navigationPropertyPath) where TEntity : class;
static member ThenInclude : Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, System.Collections.Generic.ICollection<'PreviousProperty> (requires 'Entity : null)> * System.Linq.Expressions.Expression<Func<'PreviousProperty, 'Property>> -> Microsoft.EntityFrameworkCore.Query.IIncludableQueryable<'Entity, 'Property (requires 'Entity : null)> (requires 'Entity : null)
<Extension()>
Public Function ThenInclude(Of TEntity As Class, TPreviousProperty As Class, TProperty As Class) (source As IIncludableQueryable(Of TEntity, ICollection(Of TPreviousProperty)), navigationPropertyPath As Expression(Of Func(Of TPreviousProperty, TProperty))) As IIncludableQueryable(Of TEntity, TProperty)
Parámetros de tipo
- TEntity
Tipo de entidad que se consulta.
- TPreviousProperty
Tipo de la entidad que se acaba de incluir.
- TProperty
Tipo de la entidad relacionada que se va a incluir.
Parámetros
- source
- IIncludableQueryable<TEntity,ICollection<TPreviousProperty>>
Consulta de origen.
- navigationPropertyPath
- Expression<Func<TPreviousProperty,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.
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);