共用方式為


EntityReference<TEntity>.Load(MergeOption) 方法

定義

使用指定的合併選項載入這個 EntityReference<TEntity> 的相關物件。

public:
 override void Load(System::Data::Objects::MergeOption mergeOption);
public override void Load (System.Data.Objects.MergeOption mergeOption);
override this.Load : System.Data.Objects.MergeOption -> unit
Public Overrides Sub Load (mergeOption As MergeOption)

參數

mergeOption
MergeOption

指定如果物件已存在於 ObjectContext中,應該如何傳回物件。

例外狀況

EntityReference<TEntity> 的來源是 null

-或-

查詢傳回一個以上的相關端。

-或-

查詢傳回零個相關結束,預期會有一個相關結束。

備註

這個方法可用來載入相關的物件。

載入時,會從 Value 屬性存取相關的物件。

若要明確載入相關物件,您必須在導覽屬性所傳回的相關端呼叫 Load 方法。 如果是一對多關聯性,請在 EntityCollection<TEntity>上呼叫 Load 方法,並針對一對一關聯性呼叫 EntityReference<TEntity>上的 Load。 這會將相關的對象數據載入物件內容。 當查詢傳回結果時,您可以使用 foreach 迴圈來列舉 物件集合(在 Visual Basic 中為For Each...Next),並有條件地呼叫結果中每個實體的 EntityReference<TEntity>EntityCollection<TEntity> 屬性上的 Load 方法。

Load 方法會從資料來源載入相關的物件,無論 IsLoaded 是否 true

注意

當您在 foreach (C#) 或 For Each (Visual Basic) 列舉期間呼叫 Load 方法時,Object Services 會嘗試開啟新的數據讀取器。 除非您已在連接字串中指定 multipleactiveresultsets=true,否則這項作業將會失敗。 您也可以將查詢的結果載入至 List<T> 集合。 這會關閉數據讀取器,並可讓您列舉集合以載入參考的物件。

這個方法會先呼叫內部 RelatedEnd.ValidateLoad 方法,再載入相關的對象,這個物件會驗證對 Load 的呼叫是否有正確的條件。 RelatedEnd.ValidateLoad 方法會檢查:

當相關對象已經載入 ObjectContext時,Load 方法會強制執行 mergeOption 參數所指定的 MergeOption。 如需詳細資訊,請參閱 身分識別解析、狀態管理和變更追蹤

適用於

另請參閱