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


QueryableExtensions.Include Метод

Определение

Перегрузки

Include(IQueryable, String)

Задает связанные объекты, включаемые в результаты запроса.

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

Задает связанные объекты, включаемые в результаты запроса.

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

Задает связанные объекты, включаемые в результаты запроса.

Include(IQueryable, String)

Задает связанные объекты, включаемые в результаты запроса.

public static System.Linq.IQueryable Include (this System.Linq.IQueryable source, string path);
static member Include : System.Linq.IQueryable * string -> System.Linq.IQueryable
<Extension()>
Public Function Include (source As IQueryable, path As String) As IQueryable

Параметры

source
IQueryable

Источник IQueryable , для которого вызывается Include.

path
String

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

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

Новый запрос IQueryable с определенным путем запроса.

Комментарии

Этот метод расширения вызывает метод Include(String) исходного IQueryable объекта, если такой метод существует. Если у источника IQueryable нет соответствующего метода, этот метод не выполняет никаких действий. ObjectQueryТипы , ObjectSet<TEntity>и DbQueryDbSet имеют соответствующий метод Include для вызова. Включаются и все промежуточные пути. Например, если вызов include указывает include("Orders.OrderLines"), будут включены не только OrderLines, но и Orders. При вызове метода Include путь запроса действителен только для возвращенного экземпляра IQueryable. Другие экземпляры запроса IQueryable и контекст объекта не затрагиваются. Так как метод Include возвращает объект запроса, этот метод можно вызвать несколько раз для объекта IQueryable , чтобы указать несколько путей к запросу.

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

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

Задает связанные объекты, включаемые в результаты запроса.

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures")]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1011:ConsiderPassingBaseTypesAsParameters")]
public static System.Linq.IQueryable<T> Include<T,TProperty> (this System.Linq.IQueryable<T> source, System.Linq.Expressions.Expression<Func<T,TProperty>> path);
static member Include : System.Linq.IQueryable<'T> * System.Linq.Expressions.Expression<Func<'T, 'Property>> -> System.Linq.IQueryable<'T>
<Extension()>
Public Function Include(Of T, TProperty) (source As IQueryable(Of T), path As Expression(Of Func(Of T, TProperty))) As IQueryable(Of T)

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

T

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

TProperty

Тип включаемого свойства навигации.

Параметры

source
IQueryable<T>

Исходный интерфейс IQueryable, для которого вызывается метод Include.

path
Expression<Func<T,TProperty>>

Лямбда-выражение, представляющее включаемый путь.

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

Новый IQueryable<T> с определенным путем запроса.

Атрибуты

Комментарии

Выражение пути должно состоять из простых выражений доступа к свойству вместе с вызовами Select для создания дополнительных включений после включения коллекции proprty. Примеры возможных путей включения: Для включения одной ссылки: запрос. Include(e => e.Level1Reference) Для включения одной коллекции: запрос. Include(e => e.Level1Collection) Для включения ссылки, а затем ссылки на один уровень вниз: запрос. Include(e => e.Level1Reference.Level2Reference) Для включения ссылки, а затем коллекции на один уровень вниз: запрос. Include(e => e.Level1Reference.Level2Collection) Для включения коллекции, а затем ссылки на один уровень вниз: запрос. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Чтобы включить коллекцию, а затем коллекцию на один уровень вниз: запрос. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Для включения коллекции и последующей ссылки на один уровень вниз: запрос. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference)) Чтобы включить коллекцию, а затем коллекцию на один уровень вниз: запрос. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection)) Чтобы включить коллекцию, ссылку и ссылку на два уровня вниз: запрос. Include(e => e.Level1Collection.Select(l1 => l1. Level2Reference.Level3Reference)) Чтобы включить коллекцию, коллекцию и ссылку на два уровня вниз: запрос. Include(e => e.Level1Collection.Select(l1 => l1. Level2Collection.Select(l2 => l2. Level3Reference))) Этот метод расширения вызывает метод Include(String) исходного объекта IQueryable, если такой метод существует. Если исходный объект IQueryable не имеет соответствующего метода, этот метод не делает ничего. Типы Entity Framework ObjectQuery, ObjectSet, DbQuery и DbSet имеют соответствующий метод Include для вызова. При вызове метода Include путь запроса действителен только для возвращенного экземпляра IQueryable<T>. Другие экземпляры IQueryable<T> и сам контекст объекта не затрагиваются. Так как метод Include возвращает объект запроса, этот метод можно вызвать несколько раз в IQueryable<T> , чтобы указать несколько путей для запроса.

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

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

Задает связанные объекты, включаемые в результаты запроса.

public static System.Linq.IQueryable<T> Include<T> (this System.Linq.IQueryable<T> source, string path);
static member Include : System.Linq.IQueryable<'T> * string -> System.Linq.IQueryable<'T>
<Extension()>
Public Function Include(Of T) (source As IQueryable(Of T), path As String) As IQueryable(Of T)

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

T

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

Параметры

source
IQueryable<T>

Источник IQueryable<T> , для которого вызывается Include.

path
String

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

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

Новый запрос IQueryable<T> с определенным путем запроса.

Комментарии

Этот метод расширения вызывает метод Include(String) исходного IQueryable<T> объекта, если такой метод существует. Если у источника IQueryable<T> нет соответствующего метода, этот метод не выполняет никаких действий. ObjectQuery<T>Типы , ObjectSet<TEntity>и DbQuery<TResult>DbSet<TEntity> имеют соответствующий метод Include для вызова. Включаются и все промежуточные пути. Например, если вызов include указывает include("Orders.OrderLines"), будут включены не только OrderLines, но и Orders. При вызове метода Include путь запроса действителен только для возвращенного экземпляра IQueryable<T>. Другие экземпляры запроса IQueryable<T> и контекст объекта не затрагиваются. Так как метод Include возвращает объект запроса, этот метод можно вызвать несколько раз для объекта IQueryable<T> , чтобы указать несколько путей к запросу.

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