Вкратце: нет.
Вы можете:
- отправить обратно все данные, необходимые (в том числе
classes
и students
с вашим school
лица) в одном вызове ("жадной загрузки")
или:
- вам нужно иметь отдельные методы в вашей службе WCF для получения подробных данных в отдельном вызове (что-то вроде:
List<Class> GetClassesForSchool(int schoolId)
, List<Student> GetStudentsForClass(int classId)
)
Ленивая нагрузка сам по себе работает только до тех пор, как ваш объект контекст Entity Framework все еще вокруг, чтобы быть запрошен для получения дополнительной информации - что, конечно, не тот случай, когда вы посылаете объекты по проводам с использованием WCF.
+1 Неявная ленивая загрузка через веб-сервис - плохая архитектура и ее трудно достичь (вы должны реализовать ее сами в свойствах объекта клиента). Вы должны сделать то, что описано в @marc, или использовать службы данных WCF, которые поддерживают метод Expand для явной загрузки свойств навигации. –