У меня есть график объектов:
Школа -> Классы -> Учащиеся.
, и я хочу настроить его так, чтобы я мог отправить школьный класс обратноклиент и он могут получить доступ к классам и студентам в режиме ленивой загрузки.
это возможно?
Вкратце: нет .
Вы можете либо:
classes
students
school
или
List<Class> GetClassesForSchool(int schoolId)
List<Student> GetStudentsForClass(int classId)
Ленивая загрузка как таковая работает только до тех пор, пока ваш объектный контекст Entity Framework все еще нуждается в дополнительных данных - что, конечно, не тот случай, когда вы отправляете сущности по сети, используя WCF.
Я так не думаю, потому что ваша сущность путешествует по разным уровням, и тот, у кого есть подключение к базе данных, не будет доступен без вашего вмешательства с любого другого уровня.
Вам нужно будет адаптировать свойсобственное решение для этого, или просто используйте объекты передачи данных, которые будут иметь правильную информацию, или ту, которая может быть бесполезна для некоторого представления.
Обновление: прочтите эту статью, если вы хотите узнать больше о DTOрисунок: