EntityFrameworkQueryableExtensions.Include Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
Include<TEntity,TProperty>(IQueryable<TEntity>, Expression<Func<TEntity,TProperty>>) |
Указывает связанные сущности для включения в результаты запроса. Включаемое свойство навигации указывается начиная с типа запрашиваемой сущности ( |
Include<TEntity>(IQueryable<TEntity>, String) |
Указывает связанные сущности для включения в результаты запроса. Включаемое свойство навигации указывается начиная с типа запрашиваемой сущности ( |
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
Строка имен свойств навигации, разделенных ".", которые необходимо включить.
Возвращаемое значение
Новый запрос с включенными связанными данными.
Исключения
Параметр source
или navigationPropertyPath
имеет значение null
.
navigationPropertyPath
значение пустое или пустое.
Примеры
Следующий запрос показывает включение одного уровня связанных сущностей:
context.Blogs.Include("Posts")
Следующий запрос показывает включение двух уровней сущностей в одной ветви:
context.Blogs.Include("Posts.Tags")
Следующий запрос показывает включение нескольких уровней и ветвей связанных данных:
context.Blogs
.Include("Posts.Tags.TagInfo')
.Include("Contributors")
Комментарии
Дополнительные сведения и примеры см. в разделе Загрузка связанных сущностей .
Применяется к
Entity Framework