그룹화가있는 엔티티 프레임 워크 쿼리 (많은 것까지)
-
10-07-2019 - |
문제
나는 3 개의 테이블 (학생, 코스 및 세 번째 학생 Courses 할당 테이블)이있는 고전적인 많은 시나리오를 가지고 있습니다.
새 프로젝트에서 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로 변환하는 방법을 알 수는 없습니다. 조언을 해주세요.
고맙습니다.
해결책
EF 디자이너가 테이블을 숨 깁니다. 여전히 거기에 있지만 단지 당신을 위해 협회를 만들어 내기 때문에 학생들을 코스에서 또는 그 반대를 참조 할 수 있습니다.
다른 팁
당신은 다음과 같은 일을 할 수 있습니다 :
var list = from c in context.Courses
from s in c.Students
select new
{
StudentName=s.Name,
Class=s.Class,
};
자세한 내용은 참조하십시오 이 페이지
제휴하지 않습니다 StackOverflow