2011-03-07 103 views
4

由於服務器限制,我僅限於.Net 3.5,我使用Linq to SQL進行延遲加載,但後來切換到實體框架。在L2S中,L2E沒有延遲加載。有沒有辦法以某種方式重新生成模板來實現這一目標?實體框架在.NET 3.5中延遲加載

回答

4

您必須在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