LINQ无延迟加载
问题描述:
有一个简单的办法,迫使LINQ到执行上的外键关系的连接,而无需访问被引用的表中的任意成员?LINQ无延迟加载
举例来说,如果我有引用TaxBracket
表,是有关系的和LINQ协会在它们之间建立我希望能够访问Company.TaxBracket
数据上下文已被释放后,也不必做一个公司对象var temp = Company.TaxBracket.randomMemberVariableToExecuteQuery
答
使用DataLoadOptions.LoadWith
。所以,你说,像
using(var context = new MyDataContext()) {
DataLoadOptions dataLoadOptions = new DataLoadOptions();
dataLoadOptions.LoadWith<Company>(c => c.TaxBracket);
context.LoadOptions = dataLoadOptions;
// some query
}
答
您可以使用DataLoadOptions
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<Company>(c => c.TaxBracket);
using(var context = new DBContext(){LoadOptions = options})
{
//...
}
它`context.LoadOptions`不`context.DataLoadOptions` – 2011-02-15 19:38:29