Table Per Hierarchy (TPH) inheritance (also called Flat inheritance in Telerik Data Access terminology) is the most common and easiest type of inheritance. In TPH, an entire inheritance tree is created through a single table that includes a discriminator field. This discriminator field determines which specific type each record represents.
The TPH inheritance depends on conditional mapping defined by a discriminator database field. This condition is used to identify records as different types.
Consider a database table containing animal information:

In this table, ClassType is the discriminator (either a string or integer) that determines the specific type of animal.
Follow these steps to create a TPH inheritance from an existing database table.
The class will initially include all properties (common and animal-specific).
Identify which properties are common to all types:
Select and drag animal-specific properties from the base class onto the design surface. For example:

The TPH inheritance is created automatically between derived and base classes. To edit:

Note
The discriminator value specified for the base class is preserved for all other inheritances created with this class. On
INSERT, this value is used in the discriminator column. OnFETCH, it identifies the record as the base type.
Repeat the process for other animal types:
Edit each automatically created inheritance to set the appropriate discriminator values.
The resulting model structure:

In the Inheritance Editor, you can configure the discriminator: