문제

나는 세 개의 테이블, 교수, 교수님, 학생이 있습니다.

나는 모든 교수를 원합니다 + 각 교수가 얼마나 많은 학생들이 가지고 있는지를 원합니다.

나는 이것을 할 수있다 :

context.ProfessorSet.Include("Student")

context.professorset.include ( "학생"). Tolist ()는 세 테이블을 모두 읽습니다.

그러나 나는 학생 테이블을 얻고 싶지 않습니다. 나는 Linq가 "교수형 테이블"+ "count (*) 교수진 그룹에 의해"를 받기를 원합니다. "

있을 수있다?

도움이 되었습니까?

해결책

나는 이것을 사용한다 :

        var c = from tag in contexto.ProfessorSet
                select new
                {
                    Tag = tag,
                    Count = tag.Student.Count
                };

그러나이 SQL을 생성하십시오.

C.ID, C.NOME, C.C1에서 (A.ID, A.NOME, (SELECT A.ID, A.NOME, (0)에서 B AS B AS B A.ID = B.ProfessorID)에서 [C1]로 [C1]로 선택하십시오. )

나는 이것을 원한다 :

A.id = B.Professorid Group의 A.ID에서 A.ID, Count (0)을 선택하여 A.Id = B.Professorid Group에서 교수님 B.

다른 팁

from p in context.ProfessorSet
from s in p.Student
group s by s.StudentId into g
select new
{
    Professor = p,
    StudentCounts = from sc in g
                    select new
                    {
                        StudentId = sc.Key,
                        Count = sc.Group.Count()
                    }
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top