엔티티 프레임 워크 다수 + 카운트
-
06-07-2019 - |
문제
나는 세 개의 테이블, 교수, 교수님, 학생이 있습니다.
나는 모든 교수를 원합니다 + 각 교수가 얼마나 많은 학생들이 가지고 있는지를 원합니다.
나는 이것을 할 수있다 :
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()
}
}
제휴하지 않습니다 StackOverflow