3
我正在編寫一個簡單的程序來跟蹤高爾夫記錄,我看到一些奇怪的結果與實體關係。 我的表Hole
有CourseId
列和Course
表Id
列有外鍵關係。外鍵和實體關係
當我運行以下
using (var context = new DataAccess.Entities())
{
var courseId = 0;
var holesInCourse = context.Holes.Where(x => x.CourseId == courseId);
var holeList = holesInCourse.ToList();
}
你可以看到,它返回的9洞爲0
但是給定的課程列表中當我改變查詢到以下:
using (var context = new DataAccess.Entities())
{
var courseId = 0;
var holesInCourse = context.Courses.FirstOrDefault(x => x.Id == courseId);
var holeList = holesInCourse.Holes.ToList();
}
我有點失落爲什麼第二個只返回4行,當它顯然與9有關係。是我建立我的查詢的方式?
你使用延遲加載?你可以試試這個:'context.Courses.Includ(「Holes」)'看看會發生什麼 – renakre
這兩個'ToList'調用的查詢是什麼樣的? –
啓用延遲加載並不能解決問題,我想我要在這裏使用FK約束來取消,因爲它對我所做的事情來說太複雜了。 –