Да, именно так ведет себя дизайнер Entity.Если вы моделируете свою структуру в базе данных и используете Обновите модель из базы данных , то она действительно будет смоделирована как общие ассоциации, поскольку EF еще не знает, что вы хотите смоделировать ее как наследование.Вы получите это:
Вы должны вручную изменить эту модель, чтобы использовать наследование TPT.Сначала удалите оба отношения.Он также удалит свойства навигации, и вы получите следующее:
Используйте Наследование из панели инструментов (как описано на предыдущем снимке экрана) и нарисуйте линию из Film
до Item
и от Game
до Item
.Теперь вам нужно закончить эту модель.Текущая модель не будет проверена, потому что ItemId
отображается как в родительском, так и в дочернем объекте.Удалите ItemId
из сущностей Film
и Game
.Вы также можете сделать Предмет сущностью Абстрактным и получите: