Udostępnij za pośrednictwem


EntityFrameworkQueryableExtensions.Include Metoda

Definicja

Przeciążenia

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

Określa powiązane jednostki do uwzględnienia w wynikach zapytania. Właściwość nawigacji, która ma zostać uwzględniona, jest określana, począwszy od typu jednostki, której dotyczy zapytanie (TEntity). Jeśli chcesz uwzględnić dodatkowe typy na podstawie właściwości nawigacji typu, które są uwzględniane, utwórz łańcuch wywołania po ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) wywołaniu.

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

Określa powiązane jednostki do uwzględnienia w wynikach zapytania. Właściwość nawigacji, która ma zostać uwzględniona, jest określana, począwszy od typu jednostki, której dotyczy zapytanie (TEntity). Dalsze właściwości nawigacji, które mają być dołączone, można dołączyć, oddzielone znakiem "".

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

Określa powiązane jednostki do uwzględnienia w wynikach zapytania. Właściwość nawigacji, która ma zostać uwzględniona, jest określana, począwszy od typu jednostki, której dotyczy zapytanie (TEntity). Jeśli chcesz uwzględnić dodatkowe typy na podstawie właściwości nawigacji typu, które są uwzględniane, utwórz łańcuch wywołania po ThenInclude<TEntity,TPreviousProperty,TProperty>(IIncludableQueryable<TEntity, IEnumerable<TPreviousProperty>>, Expression<Func<TPreviousProperty, TProperty>>) wywołaniu.

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)

Parametry typu

TEntity

Typ jednostki, która jest odpytywana.

TProperty

Typ powiązanej jednostki do dołączenia.

Parametry

source
IQueryable<TEntity>

Zapytanie źródłowe.

navigationPropertyPath
Expression<Func<TEntity,TProperty>>

Wyrażenie lambda reprezentujące właściwość nawigacji do dołączenia (t => t.Property1).

Zwraca

Nowe zapytanie z dołączonymi powiązanymi danymi.

Wyjątki

source lub navigationPropertyPath to null.

Przykłady

Poniższe zapytanie pokazuje, w tym pojedynczy poziom powiązanych jednostek:

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

Następujące zapytanie pokazuje, w tym dwa poziomy jednostek w tej samej gałęzi:

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

Następujące zapytanie pokazuje, w tym wiele poziomów i gałęzi powiązanych danych:

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

Poniższe zapytanie pokazuje, w tym pojedynczy poziom powiązanych jednostek w typie pochodnym przy użyciu rzutowania:

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

Poniższe zapytanie pokazuje, w tym pojedynczy poziom powiązanych jednostek w typie pochodnym przy użyciu operatora "as":

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

Uwagi

Aby uzyskać więcej informacji i przykładów, zobacz Ładowanie powiązanych jednostek .

Dotyczy

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

Określa powiązane jednostki do uwzględnienia w wynikach zapytania. Właściwość nawigacji, która ma zostać uwzględniona, jest określana, począwszy od typu jednostki, której dotyczy zapytanie (TEntity). Dalsze właściwości nawigacji, które mają być dołączone, można dołączyć, oddzielone znakiem "".

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)

Parametry typu

TEntity

Typ jednostki, która jest odpytywana.

Parametry

source
IQueryable<TEntity>

Zapytanie źródłowe.

navigationPropertyPath
String

Należy uwzględnić ciąg ""." rozdzielone nazwy właściwości nawigacji.

Zwraca

IQueryable<TEntity>

Nowe zapytanie z dołączonymi powiązanymi danymi.

Wyjątki

source lub navigationPropertyPath to null.

navigationPropertyPath jest pusty lub biały znak.

Przykłady

Poniższe zapytanie pokazuje, w tym pojedynczy poziom powiązanych jednostek:

context.Blogs.Include("Posts")

Następujące zapytanie pokazuje, w tym dwa poziomy jednostek w tej samej gałęzi:

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

Następujące zapytanie pokazuje, w tym wiele poziomów i gałęzi powiązanych danych:

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

Uwagi

Aby uzyskać więcej informacji i przykładów, zobacz Ładowanie powiązanych jednostek .

Dotyczy