2011-05-31 103 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