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约束来取消,因为它对我所做的事情来说太复杂了。 –