Entity Framework物件關聯載入模式

Entity Framework物件關聯載入模式

在Entity Framework要載入關連的物件有以下幾種模式

1.Lazy loading 延遲載入-這種模式就是載入Entity時不直接載入關連屬性,待程式存取到關連屬性時再次向資料庫取得關連屬性的相關資料載入.而在載入時又分為兩種1.自動載入,透過ObjectContext的ContextOptions.LazyLoadingEnabled來設定或從EDM中設定.2.手動載入透過屬性的IsLoad來判斷是否載入然後再透過Load()方法手動載入.

2.Explicit loading 明確加載-這種模式就是Entity每次載入時就將相關屬性載入,而程式可以透過ObjectContext的LoadProperty()方法來設定哪些屬性需要明確加載.

3.Eager loading(Defining Query Paths with Include)-預先載入,這種模式與Explicit loading類似,但不同之處為Explicit loading設定於ObjectContext,所以只要是相同的ObjectContext則都會套用,而Eager loading是透過Query的 Include方法來指定,故只套用於Query時而不是整個ObjectContext.