문제

나는 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,
           };

자세한 내용은 참조하십시오 이 페이지

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top