How to add/edit inheritance information

Defining subtypes

In the Project Explorer, right click the entity definition or the selection of entity definitions you wish to define as subtype of a given entity definition and choose Make Sub-type of... from the context menu. In the pop-up that will be shown, you can choose the super-type of the selected entity definition(s) and the inheritance hierarchy type you wish to use for the inheritance relationships.

Alternatively, you can open the entity definition in its editor and from the Sub-type of combo box, select the super-type the entity should be a subtype of.

Using Quick Model, you can also specify an entity to be the subtype of a super-type by using the #ms command.

Editing inheritance information

Entities in a hierarchy have their Inheritance info tab enabled in the Entity Editor. This tab allows you to edit inheritance information for each entity involved in the hierarchy. Right-clicking the entities shown here, allow you to change the inheritance type for that entity as well as invoke the editor for specifying discriminator field / value information, if the entity is in an inheritance hierarchy of TargetPerEntityHierarchy.

Removing an entity from an inheritance hierarchy

To remove an entity from an inheritance hierarchy, you can do one of the following:

  • Set it as a subtype of None in its Entity editor. This will make the entity the root of a new inheritance hierarchy. If it doesn't have any subtypes, it won't be in an inheritance hierarchy anymore.
  • Right-click the inheritance relationship from the entity to its super-type on the inheritance info tab and select Delete  from the context menu. This will make the entity the root of a new inheritance hierarchy. If it doesn't have any subtypes, it won't be in an inheritance hierarchy anymore.
  • Set its inheritance hierarchy type to None using the context menu which is shown when an entity is right-clicked in the Inheritance info tab. This will make the entity definition and all its subtypes become a normal entity definition which isn't in any inheritance hierarchy.
  • In Project Explorer, right-click on an entity definition which is in an inheritance hierarchy and select Destroy Hierarchy, Starting With This Entity from the context menu. This will make the selected entity definition and all its subtypes become a normal entity definition which isn't in any inheritance hierarchy.