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


EntityFrameworkQueryableExtensions.Include Метод

Определение

Перегрузки

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

Указывает связанные сущности для включения в результаты запроса. Включаемое свойство навигации указывается начиная с типа запрашиваемой сущности (TEntity). Если вы хотите включить дополнительные типы на основе свойств навигации включаемого типа, заключите вызов в цепочку ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) после этого вызова.

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

Указывает связанные сущности для включения в результаты запроса. Включаемое свойство навигации указывается начиная с типа запрашиваемой сущности (TEntity). Дополнительные свойства навигации, которые необходимо включить, можно добавить, разделив их символом ..

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

Указывает связанные сущности для включения в результаты запроса. Включаемое свойство навигации указывается начиная с типа запрашиваемой сущности (TEntity). Если вы хотите включить дополнительные типы на основе свойств навигации включаемого типа, заключите вызов в цепочку ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) после этого вызова.

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)

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

TEntity

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

TProperty

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

Параметры

source
IQueryable<TEntity>

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

navigationPropertyPath
Expression<Func<TEntity,TProperty>>

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

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

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

Исключения

Параметр source или navigationPropertyPath имеет значение null.

Примеры

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

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 => ((SpecialBlog)blog).SpecialPosts)

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

context.Blogs.Include(blog => (blog as SpecialBlog).SpecialPosts)

Комментарии

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

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

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

Указывает связанные сущности для включения в результаты запроса. Включаемое свойство навигации указывается начиная с типа запрашиваемой сущности (TEntity). Дополнительные свойства навигации, которые необходимо включить, можно добавить, разделив их символом ..

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)

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

TEntity

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

Параметры

source
IQueryable<TEntity>

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

navigationPropertyPath
String

Строка имен свойств навигации, разделенных ".", которые необходимо включить.

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

IQueryable<TEntity>

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

Исключения

Параметр source или navigationPropertyPath имеет значение null.

navigationPropertyPath значение пустое или пустое.

Примеры

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

context.Blogs.Include("Posts")

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

context.Blogs.Include("Posts.Tags")

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

context.Blogs
   .Include("Posts.Tags.TagInfo')
   .Include("Contributors")

Комментарии

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

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