0

我正在查询一个有 3 条记录的表(工作)。该表有一个指向 JobTypes 和一个名为 Users 的表的外键。运行以下查询时,我得到了三条记录,但我只能延迟加载第一个返回的结果。

IEnumerable<dynamic> jobs = _db.Jobs.All()
            .Where(_db.Jobs.Completed == false)
            .Where(_db.Jobs.RunAfter <= DateTime.Now);

Console.Out.WriteLine("Jobs Found: {0}", jobs.ToList().Count);

foreach(var job in jobs.ToList())
{
    Console.Out.WriteLine("{0} from {1}", job.JobType.Name, job.User.Username); 
}

输出是:

Jobs Found: 3
Some Job by admin

错误消息是:无法对空引用执行运行时绑定

在发生错误时,使用 quickwatch job.JobType 和 job.User 都为 null,但 job.JobType_Id 和 job.User_Id 属性都有一个有效的 guid 作为值。

错误发生在 foreach 循环的第二次迭代中。当前所有作业都具有相同的用户 ID,但作业类型 ID 不同。我已经验证了每个表中的 id 都是正确的。关于延迟加载期间可能导致此错误的任何想法?

4

1 回答 1

0

您是否尝试在配置文件中添加MultipleActiveResultSets=true ?

于 2013-03-05T15:00:29.373 回答