我正在查詢有3條記錄的表(Jobs)。該表具有JobTypes的外鍵和名爲Users的表。在運行以下查詢時,我得到三條記錄,但我只能延遲加載第一個返回的結果。Simple.Data惰性參考Null
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
和錯誤信息是: 無法執行運行時上一個空引用
在錯誤的時間結合,使用快速監視job.JobType和job.User都是null,但job.JobType_Id和job.User_Id屬性都具有有效的guid作爲值。
該錯誤發生在foreach循環的第二次迭代中。所有作業當前具有相同的用戶標識,但具有不同的作業類型標識。我已經驗證了每個表中的ID都是正確的。在延遲加載期間什麼可能導致此錯誤的任何想法?
您正在使用哪個Simple.Data提供程序? SQL Server?甲骨文? etc – Hmobius 2013-03-06 09:31:14
我正在使用SQL Server提供程序。 – RyanBrady 2013-03-06 12:34:57