实体框架和Linq to Entities和.Include()几个表,或者也许

entity-framework include linq-to-entities

我有一个名为PropertyValues的数据库,其中我存储了描述数据库表行的某些属性所需的每个值。

例如,表格产品如下所示:

ID
OrderID // Products表与Order表相关
产品名称
ProductType_ID //描述产品类型(食品,香水,化学品)的PropertyValues表的ID
ProductCountry_ID // PropertyValues表的ID,链接到产品来自 ProductStatusID的 国家/ 也是PropertyValues表的ID,其中包含产品状态(可用,不可用)

有了这样的数据库模型,为了获得订单及其所有类型,国家和地位的产品,我将不得不写下这样的东西:

var orders = from o in dbEntities.Order.Include("Products.ProductType")
                                       .Include("Products.ProductCountry")
                                       .Include("Products.ProductStatus")
            select o;

问题是:)
它可以自动完成(因此将包括所有相关实体)
或者可能有更好的方法?

谢谢 !

一般承认的答案

我认为你正在寻找的是“延迟加载”或“渴望加载”,正如亚历克斯詹姆斯指出的那样。

此博客文章解释说,“延迟加载”将在实体框架的4.0版中实现。

http://blogs.msdn.com/adonet/archive/2009/05/12/sneak-preview-deferred-loading-in-entity-framework-4-0.aspx

它可以自动完成,谷歌“实体框架延迟加载”来进行设置。




许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因
许可下: CC-BY-SA with attribution
不隶属于 Stack Overflow
这个KB合法吗? 是的,了解原因