EntityFrameworkQueryableExtensions.Include 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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>>
Lambda 運算式,表示要包含在 (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")
備註
如需詳細資訊和範例,請參閱 載入相關實體 。