EF4 TPT вставка наследуемой таблицы - PullRequest
1 голос
/ 25 сентября 2010

Предположим, что мое приложение использует две таблицы, представленные в виде двух сущностей: Person и Employee.

И:

  • Мне не разрешено вносить изменения в таблицу person.(Я предлагаю получить данные из представления)
  • Сотрудник должен наследовать от Person.

Я пытаюсь реализовать наследование таблиц по типам, но не знаю, каквставить строки в таблицу Employee.

Репозиторий сотрудников:

    public MenuItem GetByPersonId(int personId)
    {
        return (from e in _entities.People.OfType<Employee>()
                where e.PersonId== personId
                select e).FirstOrDefault();
    }
    public void Add(Employee employee)
    {
        _entities.AddToPeople(employee); //Here it doesn't work
    }
    public void Save()
    {
        _entities.SaveChanges();
    }

1 Ответ

0 голосов
/ 26 сентября 2010

TPT в EF не поддерживает изменение типа.

Я нашел объяснение здесь: Изменение типа сущности (Entity Framework), являющейся частью иерархии наследования

Я мог бы решить это с помощью хранимых процедур. Но я не собираюсь использовать наследование, вместо этого я предпочитаю использовать свойства навигации. Наследование уже не в моде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...