public static void FindDepartmentsWithMoreThan5Employees() { var dbContext = new SoftUniEntities(); var departments = dbContext.Departments .Where(d => d.Employees.Count() > 5) .OrderBy(d => d.Employees.Count()) .Select(d => new { d.Name, ManagerFirstName = d.Employee.FirstName, ManagerLastName = d.Employee.LastName, EmployeesCount = d.Employees.Count(), Employees = d.Employees .Select(e => new { e.FirstName, e.LastName, e.HireDate, e.JobTitle }) }); foreach (var department in departments) { Console.WriteLine("--{0} - Manager: {1}, Employees: {2}", department.Name, department.ManagerFirstName + " " + department.ManagerLastName, department.EmployeesCount); //foreach (var employee in department.Employees) //{ // Console.WriteLine("{0} {1} {2} {3}", employee.FirstName, employee.LastName, employee.HireDate, employee.JobTitle); //} } }