Table Inheritance with EF Core
Note: this is an update to an old post on my old blog . Introduction EF Core 7 finally delivered a long-sought desire: all of the three table inheritance patterns are now implemented. These are: Table Per Hierarchy ( TPH ) / Single Table Inheritance : all columns for the properties of base and all derived classes are stored on the same, single, table, one for each base class (implemented in EF Core 1); Table Per Type ( TPT ) / Class Table Inheritance : columns for the properties of each class (abstract or otherwise) are stored on an individual table, and linked to tables that contain the columns for the properties for each base class through foreign keys (EF Core 5); Table Per Concrete Type ( TPC ) / Concrete Type Inheritance : a table exists for each concrete class which contains columns for each property of that class (EF Core 7). All of these patterns were discussed at length on Martin Fowler ’s book, Patterns of Ente...