LINQ:停止延迟加载或强制加载属性

时间:2010-01-24 08:09:27

标签: winforms linq-to-sql

考虑使用Linq to Objects作为数据源的Windows窗体中的报告。

我有一个名为Loan的实体,其关联名为Customer。问题是,当我尝试访问报表中的.Customer属性时,它返回null或空字符串。

我想这是因为延迟加载但我不确定是否诚实。有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:2)

在您的情况下,关闭数据上下文会导致未通过连接检索的数据的空值。使用DataLoadOptions明确告诉上下文执行连接:

using(var yourDataContext = .....)
{
    DataLoadOptions dlo = new DataLoadOptions();
    dlo.LoadWith<Loan>(loanRecord => loanRecord.Customers);
    yourDataContext.LoadOptions = dlo;
    //write code to retrieve data
}