来自代理的延迟加载POCO实体

时间:2011-04-26 12:54:11

标签: entity-framework-4 lazy-loading

我正在尝试为已知在数据库中的实体创建POCO代理 - 类似于nHibernate Session.Load()。

我想设置ID值,然后如果在实体上访问任何其他属性,其他属性都是延迟加载的 - 再次类似于nHibernate Session.Load()

我尝试使用ObjectContext.CreateObject()创建代理,设置ID值,并将其附加到上下文。但是访问时属性不会延迟加载。但是,导航属性会延迟加载。

我想在需要实体并知道ID的情况下使用此功能,但不想强制额外的数据库命中来加载实体。我还想确保在需要的时候加载属性。

这是否可以使用Entity Framework 4?

1 个答案:

答案 0 :(得分:0)

不,不可能。原因是Entity框架仅支持延迟加载导航属性。您不能延迟加载标量或复杂属性。您必须从数据库加载实体才能填充它们。