2013-01-21 5 views

답변

0
var employeesByManager = db.Employees. 
          GroupBy(emp => emp.Manager.EmployeeName, emp => emp). 
          ToList(); 

var employeeCountsByManager = db.Employees. 
           Select(emp => new { ManagerName = emp.EmployeeName, EmployeeCount = emp.Employees.Count() }). 
           Where(a => a.EmployeeCount > 0). 
           ToList(); 

관리자를 기반으로 직원 및 관리자와 표시 모든 직원처럼 당신은 물론, 카운트와 유사한 방식으로 관리자에 의해 그룹화 된 직원을 얻을 수 있습니다. GroupBy 방법은이 작업을 수행하는 단순한 방법입니다.

+0

감사합니다. 해당 Manager에 대한 EmployeeName 및보고 인원을 표시하려고합니다. 그 하나의 테이블 - employeeId를 가리키는 ManagerId를 가진 Employee. 단일 테이블에서 처리하는 방법 – subramn

+0

이를 반영하여 업데이트되었습니다. 이것은 'ManagerId'에 의해 맵핑 된'속한 '매니저 관계와 비슷하지만 역으로 맵핑 된'많은 수의 'Employees' 콜렉션이 있다고 가정합니다. – PinnyM