Simple.Data Lazy Reference Null

时间:2013-03-05 14:49:28

标签: c# .net dynamic lazy-loading simple.data

我正在查询有3条记录的表(Jobs)。该表具有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是正确的。在延迟加载期间可能导致此错误的任何想法?

1 个答案:

答案 0 :(得分:0)

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