2011-02-15 112 views
1

有一個簡單的辦法,迫使LINQ到執行上的外鍵關係的連接,而無需訪問被引用的表中的任意成員?LINQ無延遲加載

舉例來說,如果我有引用TaxBracket表,是有關係的和LINQ協會在它們之間建立我希望能夠訪問Company.TaxBracket數據上下文已被釋放後,也不必做一個公司對象var temp = Company.TaxBracket.randomMemberVariableToExecuteQuery

回答

3

使用DataLoadOptions.LoadWith。所以,你說,像

using(var context = new MyDataContext()) { 
    DataLoadOptions dataLoadOptions = new DataLoadOptions(); 
    dataLoadOptions.LoadWith<Company>(c => c.TaxBracket); 
    context.LoadOptions = dataLoadOptions; 

    // some query 
} 
+0

它`context.LoadOptions`不`context.DataLoadOptions` – 2011-02-15 19:38:29

4

您可以使用DataLoadOptions

DataLoadOptions options = new DataLoadOptions(); 
options.LoadWith<Company>(c => c.TaxBracket); 
using(var context = new DBContext(){LoadOptions = options}) 
{ 
    //... 
}