Изменение унаследованных типов в Entity Framework

Я вижу, что здесь задан похожий вопрос, но я не думаю, что он был очень ясным, поэтому я создаю другой:Entity Framework: Наследование, изменение типа объекта

У меня есть Entity Student, который наследует от Entity Person.

В какой-то момент человек может стать студентом.

Есть ли способ в Entity Framework 4, чтобы справиться с этим без хранимой процедуры или создания новой сущности.

 Craig Stuntz29 сент. 2010 г., 20:38
Это сломанная объектная модель. В ООП экземпляры не могут изменить тип. EF не добавляет эту функцию в C # /. NET. Для этого вы должны использовать композицию, а не наследование.
 Stephen Lacy30 сент. 2010 г., 16:23
У меня сложилось впечатление, что все зависит от того, является ли студент человеком или есть студент. Возможно, вы могли бы указать мне ссылку, где это определено?
 Craig Stuntz30 сент. 2010 г., 21:39
Объект может иметь только один тип. Таким образом, вы не можете сделать типRedDog а также есть типBigDogпотому чтоDog может быть как большойа также красный (Клиффорд). Я написал об этой проблеме здесь:blogs.teamb.com/craigstuntz/2008/07/17/37825

Ответы на вопрос(1)

Решение Вопроса

атьУченик для существующегоЧеловек это использоватьхранимая процедура.
Обратите внимание, что это не хранимая процедура, которая подключена кУченик сущность через сопоставления, но отдельная, которую можно явно вызывать из кода. В идеале это будет SP, который принимаетPersonID в качестве параметра вставляет новую строку вУченик таблица с использованием этогоPersonID, а затем возвращает полныйУченик так что это может быть использовано немедленно.

 Paul25 мар. 2014 г., 03:38
Просто сгорел от этого. Там проходит час, я никогда не вернусь!

Ваш ответ на вопрос