2013-04-17 95 views
1

我已經entitites的層次結構如下在裝載實體孫子框架

class ClassA { 
    ICollection<ClassB> classBs { get; set; } 
    } 
    class ClassB { 
    ClassC classC { get; set; } 
    ClassD classD { get; set; } 
    } 
    class ClassC { 
    } 
    class ClassD { 
    } 

我想,當我加載ClassA的實例,那麼所有CLASSB的相關實例和ClassC他們的相關情況,並classD應該被填充。寫在我的資料庫中的代碼是一樣的東西:

context.ClassAs.Include(c => c.classBs) 

這將返回classBs的所有相關情況,但CLASSB具有classC和D類,這沒有得到填充。我在網上查看了一些資源,但並未顯示如何急於加​​載這種簡單的層次結構。任何幫助將非常感激。

回答

2

一種解決方案是使用Select來僅包含您想要加載的孩子的孩子,例如,

context.ClassAs 
     .Include(c => c.classBs.Select(c=>c.ClassC)) 
     .Include(c => c.classBs.Select(d=>d.ClassD)) 
+0

非常感謝你@George :) –

+0

不客氣:) –