Запрос производного объекта в ObjectContext (таблица на иерархию) - PullRequest
2 голосов
/ 13 марта 2012

Я выполняю пошаговое руководство по : наследование карт - таблица для иерархии (инструменты модели данных объекта) .

Это модель:

Entities Data Model

Преподаватель сущностей и ученик являются производными типами с BaseType Person.

Проблема заключается в следующем: как я могу запросить сущности Инструктор и Студент непосредственно в LINQ, если они не видны в ObjectContext?

Я ожидал сделать somenthig следующим образом:

var result = from student в ctx. Студенты выбирают student;

Производные сущности, кажется, существуют только как сущности (EntityObject), а не как ObjectSet.

Спасибо!

1 Ответ

1 голос
/ 13 марта 2012

У вас должно быть свойство People для ObjectContext класса , созданного для вас. Оттуда вы можете получить все базовые типы:

var allPeople = ctx.People;

Или, если вам нужен определенный производный тип, вы можете использовать OfType метод расширения для IQueryable<T>, например:

var students = allPeople.OfType<Student>();
var instructors = allPeople.OfType<Instructor>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...