C# 简单。数据延迟引用为空

C# 简单。数据延迟引用为空,c#,.net,dynamic,lazy-loading,simple.data,C#,.net,Dynamic,Lazy Loading,Simple.data,我正在查询一个有3条记录的表(作业)。该表具有作业类型和名为用户的表的外键。当运行下面的查询时,我得到了三条记录,但是我只能延迟加载第一个返回的结果 IEnumerable<dynamic> jobs = _db.Jobs.All() .Where(_db.Jobs.Completed == false) .Where(_db.Jobs.RunAfter <= DateTime.Now); Console.Out.WriteLi

我正在查询一个有3条记录的表(作业)。该表具有作业类型和名为用户的表的外键。当运行下面的查询时,我得到了三条记录,但是我只能延迟加载第一个返回的结果

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); 
}
错误消息是: 无法对空引用执行运行时绑定

发生错误时,使用quickwatch job.JobType和job.User都为null,但job.JobType\u Id和job.User\u Id属性都具有有效的guid作为值


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

是否尝试在配置文件中添加MultipleActiveResultSets=true。尽管在MVC视图中引用延迟加载的属性时,我不必这样做。这个问题只发生在我使用这个控制台应用时。你使用的是哪个简单的数据提供程序?SQL Server?神谕我正在使用SQL Server提供程序。
Jobs Found: 3
Some Job by admin