Entity Framework запрос с группировкой (многие ко многим) - PullRequest
1 голос
/ 11 января 2009

У меня классический сценарий «многие ко многим» с тремя таблицами (студенты, курсы и третья таблица заданий StudentCourses).

Я использую EF в своем новом проекте, а дизайнер EF не создает третью таблицу. Мне нужно выбрать все курсы вместе с количеством назначенных студентов. Использование простого SQL очень просто:

select c.Id, c.Name, Count(sc.*) as StudentCount 
from Courses c left join StudentCourses sc on(c.Id=sc.CourseId)
group by c.Id, c.Name

Но я не могу понять, как перевести этот запрос в Linq в SQL. Пожалуйста, совет.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 23 января 2009

Дизайнер EF прячет стол. Он все еще там, но он просто создает ассоциацию для вас, так что вы можете просто ссылаться на студентов из курсов или наоборот.

0 голосов
/ 22 сентября 2010

Вы можете сделать что-то вроде этого:

var list = from c in context.Courses
           from s in c.Students
           select new
           {
             StudentName=s.Name,
             Class=s.Class,
           };

для получения дополнительной информации смотрите эту страницу

...