Запрос отношения «многие ко многим» в EF Core, чтобы в результате SQL-запроса использовался JOIN - PullRequest
0 голосов
/ 28 сентября 2019

Это кажется тривиальным вопросом, но мне пока не удалось найти ответ.

Я использую EF Core.У меня есть простое отношение «многие ко многим» со студентами и средним столом «StudentsToCourses».У меня есть класс для каждой из этих трех таблиц, хотя я где-то читал, что достаточно только студентов и курсов, но это то, что у меня есть сейчас.

Я пытаюсь найти студентов для курса географиииспользуя LINQ:

var students = studentsRepository.GetAll()
              .Where(s => s.StudentsToCourses.Any(sc => sc.Course.Description == "Geography"))
              .ToList();

Мой запрос переводится в SQL с использованием подзапроса («где существует (выберите 1 из ...» и т. д.) вместо объединения. Как можно написать этот запрос по-другому, чтобы объединитьиспользуется? Возможно ли? Текущий запрос менее эффективен.

...