2011-05-31 102 views
1

我想在我的web應用程序中預載我的目錄。我正在使用EF4並希望預取我的所有目錄數據。有沒有簡單的方法來使用EF4?預加載實體框架4樹

DB結構: 目錄 - >類別 - > [類別 - >]產品 - >選項

我如何預加載應用的所有對象開始?

感謝

回答

1

您只需撥打:

var data = context.Catalogs.Include("Categories.Products.Options").ToList(); 

我認爲Catalog具有導航屬性CategoriesCategory具有導航屬性ProductsProduct具有導航屬性Options。這可能是create enormous result set

預加載如此大量的數據通常沒有任何意義。我會說不要這樣做,並在需要時根據需要加載數據。預加載對於不會改變的數據是有意義的,並且幾乎顯示在向客戶展示的每個頁面上。

+0

我們的目錄是靜態的,在Web應用程序的生命週期中不會更改,是的它會創建一個巨大的結果集(是數據集),但它在應用程序啓動時會預加載。我剛剛閱讀了包含非常有教育意義的鏈接。包括部分。現在我知道不使用.Include。我原來的問題是如何預加載樹,它看起來像使用.Include加載表而不是樹。我如何預先加載一棵樹? – freddoo 2011-06-01 15:30:09