Вам необходимо убедиться, что вы неявным образом не используете информацию из Employee
.
Если вы сделаете это:
var people = Context.People.ToList();
... Тогда Entity Framework инициализирует новые экземпляры типа Employee
для тех людей, которые оказываются сотрудниками. Это потому, что когда вы сохраняете Employee
в базе данных, вы обычно ожидаете получить Employee
обратно при выборе того же элемента.
Также, в этом отношении, вы не можете сказать Entity Framework дать вам Person
, когда сохраненное значение равно Employee
. Entity Framework никогда не вернет вам неправильный тип объекта.
Однако, если вы просто хотите прочитать одну таблицу, есть способ сделать это: выберите данные из Person
в не-сущностные типы, такие как анонимный тип:
var people = Context.People.Select(p => new { Name = p.Name }).ToList();