Я пытаюсь изучить EF Core, и я запутался в том, как наследование работает с первой реализацией кода. Я создал код первыми классами, например
Класс 1 - Card
(имеет несколько полей, включая ID
)
Класс 2 - SpecialCard
(наследуется от Card
, но добавляет другое поле с именем SpecialCardText
EF Core миграция создала столбец Discriminator
, но в моей базе данных Postgres нет столбца SpecialCardText
.
Я попытался выбрать из EF, используя SingleOrDefault
, и я вернул одну строку, которую я добавил, и затем попытался извлечь значение SpecialCardText
, и оно вернулось правильно. Тем не менее, я не могу видеть, где данные фактически хранятся в БД. Столбец Discriminator
стал "SpecialCard"
, тогда как другие значения просто "Card"
.
Может кто-нибудь объяснить, как это работает и где в БД хранятся фактические значения.