QueryableExtensions.Include 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
多載
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
要呼叫 Include 的來源 IQueryable 。
- path
- String
要在查詢結果中傳回的相關物件清單 (以點分隔)。
傳回
含有已定義之查詢路徑的新 IQueryable。
備註
如果這類方法存在,這個擴充方法會呼叫 source IQueryable 物件的 Include (String) 方法。 如果來源 IQueryable 沒有相符的方法,則這個方法不會執行任何動作。 ObjectQuery、 ObjectSet<TEntity>DbQuery 和 DbSet 類型全都有適當的 Include 方法可呼叫。 路徑是全部包含的。 例如,如果 include 呼叫指出 Include (「Orders.OrderLines」) ,不僅會包含 OrderLines,也會包含 OrderLines。 當您呼叫 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>
呼叫 Include 所在的來源 IQueryable。
- path
- Expression<Func<T,TProperty>>
Lambda 運算式,表示要包含的路徑。
傳回
具有已定義查詢路徑的新 IQueryable < T > 。
- 屬性
備註
路徑運算式必須由簡單的屬性存取運算式所組成,並呼叫 Select 以在包含集合屬性之後撰寫其他包含。 可能的範例包括路徑:若要包含單一參考:查詢。包含 (e = > e.Level1Reference) 若要包含單一集合:查詢。包含 (e = > e.Level1Collection) 若要包含參考,然後參考一層向下:查詢。包含 (e = > e.Level1Reference.Level2Reference) 若要包含參考,然後集合向下一層:查詢。包含 (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) ) ) 如果這類方法存在,這個擴充方法會呼叫來源 IQueryable 物件的 Include (String) 方法。 如果來源 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>
要呼叫 Include 的來源 IQueryable<T> 。
- path
- String
要在查詢結果中傳回的相關物件清單 (以點分隔)。
傳回
含有已定義之查詢路徑的新 IQueryable<T>。
備註
如果這類方法存在,這個擴充方法會呼叫 source IQueryable<T> 物件的 Include (String) 方法。 如果來源 IQueryable<T> 沒有相符的方法,則這個方法不會執行任何動作。 ObjectQuery<T>、 ObjectSet<TEntity>DbQuery<TResult> 和 DbSet<TEntity> 類型全都有適當的 Include 方法可呼叫。 路徑是全部包含的。 例如,如果 include 呼叫指出 Include (「Orders.OrderLines」) ,不僅會包含 OrderLines,也會包含 OrderLines。 當您呼叫 Include 方法時,查詢路徑只在 傳回的 IQueryable<T> 實例上有效。 其他 IQueryable<T> 執行個體和物件內容本身則不會受到影響。 因為 Include 方法會傳回查詢物件,所以您可以在 上 IQueryable<T> 多次呼叫這個方法,以指定查詢的多個路徑。