Поделиться через


EntityFrameworkQueryableExtensions.ThenInclude Метод

Определение

Перегрузки

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,TPreviousProperty>, Expression<Func<TPreviousProperty,TProperty>>)

Указывает дополнительные связанные данные для дальнейшего включения на основе только что включенного связанного типа.

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>)

Указывает дополнительные связанные данные для дальнейшего включения на основе только что включенного связанного типа.

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, ICollection<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>)

Указывает дополнительные связанные данные для дальнейшего включения на основе только что включенного связанного типа.

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity,TPreviousProperty>, Expression<Func<TPreviousProperty,TProperty>>)

Указывает дополнительные связанные данные для дальнейшего включения на основе только что включенного связанного типа.

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)

Параметры типа

TEntity

Тип запрашиваемой сущности.

TPreviousProperty

Тип только что включенной сущности.

TProperty

Тип включаемой связанной сущности.

Параметры

source
IIncludableQueryable<TEntity,TPreviousProperty>

Исходный запрос.

navigationPropertyPath
Expression<Func<TPreviousProperty,TProperty>>

Лямбда-выражение, представляющее включаемое свойство навигации (t => t.Property1).

Возвращаемое значение

Новый запрос с включенными связанными данными.

Примеры

Следующий запрос показывает включение одного уровня связанных сущностей:

context.Blogs.Include(blog => blog.Posts)

Следующий запрос показывает включение двух уровней сущностей в одной ветви:

context.Blogs.Include(blog => blog.Posts).ThenInclude(post => post.Tags)

Следующий запрос показывает включение нескольких уровней и ветвей связанных данных:

context.Blogs
   .Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo)
   .Include(blog => blog.Contributors)

Следующий запрос показывает включение двух уровней сущностей в одной ветви, второй из которых относится к производному типу:

context.Blogs.Include(blog => blog.Posts).ThenInclude(post => ((SpecialPost)post).SpecialTags)

Следующий запрос показывает включение двух уровней сущностей в одной ветви, второй из которых относится к производному типу с помощью альтернативного метода.

context.Blogs.Include(blog => blog.Posts).ThenInclude(post => (post as SpecialPost).SpecialTags)

Комментарии

Дополнительные сведения и примеры см. в разделе Загрузка связанных сущностей .

Применяется к

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>)

Указывает дополнительные связанные данные для дальнейшего включения на основе только что включенного связанного типа.

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)

Параметры типа

TEntity

Тип запрашиваемой сущности.

TPreviousProperty

Тип только что включенной сущности.

TProperty

Тип включаемой связанной сущности.

Параметры

source
IIncludableQueryable<TEntity,IEnumerable<TPreviousProperty>>

Исходный запрос.

navigationPropertyPath
Expression<Func<TPreviousProperty,TProperty>>

Лямбда-выражение, представляющее включаемое свойство навигации (t => t.Property1).

Возвращаемое значение

Новый запрос с включенными связанными данными.

Примеры

Следующий запрос показывает включение одного уровня связанных сущностей:

context.Blogs.Include(blog => blog.Posts)

Следующий запрос показывает включение двух уровней сущностей в одной ветви:

context.Blogs
   .Include(blog => blog.Posts).ThenInclude(post => post.Tags)

Следующий запрос показывает включение нескольких уровней и ветвей связанных данных:

context.Blogs
   .Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo)
   .Include(blog => blog.Contributors)

Следующий запрос показывает включение двух уровней сущностей в одной ветви, второй из которых относится к производному типу с помощью приведения:

context.Blogs.Include(blog => blog.Posts).ThenInclude(post => ((SpecialPost)post).SpecialTags)

Следующий запрос показывает включение двух уровней сущностей в одной ветви, второй из которых относится к производному типу as с помощью оператора .

context.Blogs.Include(blog => blog.Posts).ThenInclude(post => (post as SpecialPost).SpecialTags)

Комментарии

Дополнительные сведения и примеры см. в разделе Загрузка связанных сущностей .

Применяется к

ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, ICollection<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>)

Указывает дополнительные связанные данные для дальнейшего включения на основе только что включенного связанного типа.

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)

Параметры типа

TEntity

Тип запрашиваемой сущности.

TPreviousProperty

Тип только что включенной сущности.

TProperty

Тип включаемой связанной сущности.

Параметры

source
IIncludableQueryable<TEntity,ICollection<TPreviousProperty>>

Исходный запрос.

navigationPropertyPath
Expression<Func<TPreviousProperty,TProperty>>

Лямбда-выражение, представляющее включаемое свойство навигации (t => t.Property1).

Возвращаемое значение

Новый запрос с включенными связанными данными.

Примеры

Следующий запрос показывает включение одного уровня связанных сущностей.

context.Blogs.Include(blog => blog.Posts);

Следующий запрос показывает включение двух уровней сущностей в одной ветви.

context.Blogs
    .Include(blog => blog.Posts).ThenInclude(post => post.Tags);

Следующий запрос показывает включение нескольких уровней и ветвей связанных данных.

context.Blogs
    .Include(blog => blog.Posts).ThenInclude(post => post.Tags).ThenInclude(tag => tag.TagInfo)
    .Include(blog => blog.Contributors);

Применяется к