2011-02-15 76 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}) 
{ 
    //... 
}