Допустим, у меня есть таблица SQL, которая представляет курсы колледжа:
|--------|------------------|------------------|
| Id | StudentId | CourseName |
|--------|------------------|------------------|
| 1 | 15 | Biology 101 |
|--------|------------------|------------------|
| 2 | 21 | English 201 |
|--------|------------------|------------------|
| 3 | 38 | History 301 |
|--------|------------------|------------------|
| 4 | 41 | Anthropology 401 |
|--------|------------------|------------------|
| 5 | 15 | Graphics 210 |
|--------|------------------|------------------|
| 6 | 21 | Physics Lab B |
У нее есть идентификатор студента, который указывает, что этот студент проходит этот курс колледжа. Как видите, учащийся может пройти несколько курсов.
Теперь предположим, что у меня есть список идентификаторов учащихся, например: [15, 21]
Я хочу написать утверждение LINQ, которое даст мне только один курс (он может быть первым, но не обязательным) для каждого студента в моем списке.
Итак, в моем примере я верну курсы 1 и 2. Но это могут быть курсы 2 и 5 или курсы 5 и 6. Это не имеет значения. Мне просто нужно гарантировать, что будет возвращен один и только один курс для каждого идентификатора студента в моем списке. Я также гарантирую, что для студента будет существовать курс.
Если не писать прямо SQL, как бы я это сделал в Entity Framework / LINQ?