【发布时间】:2011-07-10 03:08:08
【问题描述】:
由于服务器限制,我仅限于 .Net 3.5,我使用 Linq to SQL 的延迟加载,但后来切换到实体框架。 L2E 在 3.5 中没有延迟加载,而 L2S 有。有没有办法以某种方式重新生成模板来实现这一点?
【问题讨论】:
标签: c# entity-framework .net-3.5 lazy-loading
由于服务器限制,我仅限于 .Net 3.5,我使用 Linq to SQL 的延迟加载,但后来切换到实体框架。 L2E 在 3.5 中没有延迟加载,而 L2S 有。有没有办法以某种方式重新生成模板来实现这一点?
【问题讨论】:
标签: c# entity-framework .net-3.5 lazy-loading
您必须在 EF 1 / .NET 3.5 中显式调用加载方法。
因此,在您访问未加载的相关集合或实体之前,您必须调用类似:
例子:
if (!person.Pets.IsLoaded)
person.Pets.Load();
if (!person.Address.IsLoaded)
person.Address.Load();
当然它是如此丑陋,但这就是它在那个版本中的工作方式。
更多详情来自微软博客:
http://blogs.microsoft.co.il/blogs/idof/archive/2008/08/20/entity-framework-and-lazy-loading.aspx
【讨论】: