Я знаю, что раньше об этом спрашивали несколькими способами, но ни один из ответов не кажется мне подходящим - или правильным - или текущим, поэтому я попробую еще раз.
У меня есть большая модель с несколькими экземплярами унаследованных объектов. Одним из примеров является расписание, которое содержит коллекцию TimetableEvents. Существует несколько подтипов TimetableEvent, таких как InterviewTimetableEvent, BreakTimetableEvent и ExercisetimeTableEvent. ExerciseTimetableEvent связан с сущностью Exercise.
Мне нужно использовать объекты самоконтроля, поскольку я использую серверную часть WCF для передачи данных нескольким клиентам WPF без сохранения состояния.
Итак, мне нужно все загрузить, и я подумал, что самообследуемые объекты будут делать это автоматически, но, похоже, они этого не делают.
Итак, чтобы получить расписание, мне нужно сделать что-то вроде этого:
var tt = (from s in ESSDataContainer.Timetables
.Include("TimetableEvents")
where s.TimetableId == timetableid
select s).FirstOrDefault();
Это даст мне TimetableEvents, но не Упражнения, которые связаны с ExerciseTimetableEvents. Я попытался следующее (и несколько других предложений) без удачи:
var tt = (from s in ESSDataContainer.Timetables
.Include("TimetableEvents")
.Include("ExerciseTimetableEvents.Exercise")
where s.TimetableId == timetableid
select s).FirstOrDefault();
Есть ли решение для этого?
Если нет, я вернусь к обычному отслеживанию контекста и подключусь к базе данных из локального контейнера, а не с помощью WCF.
Приветствия