DataLoadOptions 類別

定義

提供以進行相關資料的立即載入和篩選。

public ref class DataLoadOptions sealed
public sealed class DataLoadOptions
type DataLoadOptions = class
Public NotInheritable Class DataLoadOptions
繼承
DataLoadOptions

範例

當您從 Northwind 範例資料庫擷取 Customers 時,您可以使用 DataLoadOptions 來指定要擷取的 Orders 。 您甚至可以指定要擷取的 子 Orders 集。

備註

一般

當您查詢物件時,實際上只擷取了所要求的物件。 相關物件不會同時自動擷取。 (如需詳細資訊,請參閱 跨關聯性查詢。)

類別 DataLoadOptions 提供兩種方法,以立即載入指定的相關資料。 方法 LoadWith 可讓您立即載入與主要目標相關的資料。 方法 AssociateWith 允許篩選相關的物件。

規則

請注意下列關於使用方式的規則 DataLoadOptions

迴圈處理

LoadWithAssociateWith 指示詞不得建立迴圈。 下列代表這類圖表的範例:

  • 範例 1:自我遞迴

    • dlo.LoadWith<Employee>(e => e.Reports);
  • 範例 2:返回指標

    • dlo.LoadWith <Customer>(c => C.Orders);

    • dlo.LoadWith <Order>(o => o.Customer);

  • 範例 3:較長的週期

    雖然這不應該在正規化的模型中發生,但有可能。

    • dlo.LoadWith <A>(a => a.Bs);

    • dlo.LoadWith <B>(b => b.Cs);

    • dlo.LoadWith <C>(c => c.As);

  • 範例 4:自我遞迴子查詢

    • dlo.AssociateWith<A>(a=>a.As.Where(a=>a.Id=33));
  • 範例 5:較長的遞迴子查詢

    • dlo.AssociateWith<A>(a=>a.Bs.Where(b=>b.Id==3));

    • dlo.AssociateWith<B>(b=>b.As.Where(a=>a.Id==3));

以下是一些一般規則,可協助您瞭解這些案例中發生的狀況。

LoadWith 每個呼叫都會 LoadWith 檢查是否已將迴圈導入圖形。 如果有,如範例 1、2 和 3 所示,則會擲回例外狀況。

AssociateWith 執行時間的引擎不會將現有的 SubQuery 子句套用至運算式內的關聯性。

  • 在範例 4 中 Where ,子句會針對所有 A 執行,而不只是由 SubQuery 運算式本身篩選的子句 (,因為這是遞迴)

  • 在範例 5 中,第一個 Where 子句會套用至所有 B 子句,即使 上的子查詢也 B 一樣。 即使 上 A 有子查詢,第二個 Where 子句仍會套用至 所有 A

建構函式

DataLoadOptions()

初始化 DataLoadOptions 類別的新執行個體。

方法

AssociateWith(LambdaExpression)

篩選針對特定關聯性所擷取的物件。

AssociateWith<T>(Expression<Func<T,Object>>)

篩選針對特定關聯性所擷取的物件。

Equals(Object)

判斷指定的物件是否等於目前的物件。

(繼承來源 Object)
GetAssociationCriteria(MemberInfo, LambdaExpression)

提供以進行相關資料的立即載入和篩選。

GetHashCode()

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsImmediate(MemberInfo)

提供以進行相關資料的立即載入和篩選。

LoadWith(LambdaExpression)

使用 lambda 運算式,擷取與主要目標相關之指定的資料。

LoadWith<T>(Expression<Func<T,Object>>)

指定當送出型別 T 物件的查詢時,要擷取的子物件。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
ToString()

傳回代表目前物件的字串。

(繼承來源 Object)

適用於