То, что вы описываете, называется TPC или Table-Per-Concrete Type, реляционным шаблоном и в настоящее время не поддерживается в Entity Framework Core.Вы можете следить за проблемой здесь .
В данный момент для этой функции нет вехи, поэтому, если вам абсолютно необходимо использовать TPC, ваш единственный выбор - использовать EF6 или другой альтернативный ORM.который поддерживает эту реляционную стратегию вместо EF Core.
Лично я бы рекомендовал придерживаться EF Core и просто использовать реляционные стратегии TPH (Table-Per-Hierarchy) или TPT (Table-Per-Type).Первый фактически является значением по умолчанию и приведет к одной таблице для обоих, с колонкой Discriminator
, указывающей фактический тип.Последнее - то, что вы получаете, когда используете ToTable
fluent config или атрибут [Table]
, и в результате получается таблица для базового типа, содержащая все общие свойства, а затем таблица для каждого производного типа, содержащая только свойства.для этого типа с внешним ключом обратно в таблицу базового типа.Существует тесная связь между чем-то вроде поста и цепочки, и есть смысл в том, чтобы поддерживать эти отношения на уровне базы данных.