Я надеюсь, что кто-то из сообщества SO сможет помочь мне здесь.
Упрощенный фон:
Я использую Entity Framework V1 для построения структуры моего класса, которая описана ниже, я использую Table Per Type для сохранения моих унаследованных объектов:
Employee
CaseA : Case
CaseB : Case
CaseC : Case
CaseB имеет навигационное свойство для сотрудника
У меня есть репозиторий, который возвращает ObjectQuery. Если тип Case на самом деле CaseB, мне нужно включить объект Employee в график. Я не могу .Include ("Сотрудник"), потому что это не навигационное свойство Case, и у Сотрудника нет метода .Load ().
В идеале я хочу иметь возможность сделать это в одном запросе, однако, как запасной вариант, я счастлив, что я совершаю вызов, проверяю объект и выполняю другой вызов, примерно так: (хотя, как я уже говорил ранее, нагрузка на навигационное свойство сотрудника отсутствует)
//Get the case from the
Case myCase = new Repo<Case, Entities>.FirstOrDefault();
if(myCase is CaseB)
((CaseB)myCase).Employees.load();
Я что-то упускаю здесь очень просто?