Я пишу простую программу для отслеживания записей в гольф, и я вижу некоторые странные результаты с отношениями сущностей. My table 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 здесь, поскольку это слишком сложно для того, что я делаю. –