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>>

Lambda 運算式,表示要包含在 (t => t.Property1) 的導覽屬性。

傳回

包含相關資料的新查詢。

例外狀況

sourcenavigationPropertyPathnull

範例

下列查詢顯示包含單一層級的相關實體:

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>

包含相關資料的新查詢。

例外狀況

sourcenavigationPropertyPathnull

navigationPropertyPath 為空白或空白字元。

範例

下列查詢顯示包含單一層級的相關實體:

context.Blogs.Include("Posts")

下列查詢顯示在同一分支上包含兩個層級的實體:

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

下列查詢顯示包含多個相關資料的層級和分支:

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

備註

如需詳細資訊和範例,請參閱 載入相關實體

適用於