Understanding the RelationshipType Enumeration

Applies To: Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012

When you add a node under AOT > Data Dictionary > Tables > YourTable > Relations, you can set the value of the RelationshipType property of the new relation. The list of possible values for the RelationshipType property is the list of elements in the RelationshipType enum. The meaning of each element in the RelationshipType enum is described in this topic.

Description of Elements

The following table describes the elements of the RelationshipType property.

Element name

Description

Automatic inference

NotSpecified

Often the default value for the RelationshipType property.

When the RelationshipType property has the value NotSpecified, the system infers an appropriate value. The system infers the value in the following sequence:

  1. Specialization

  2. Link

  3. Composition

  4. Aggregation

  5. Association

For example, if the criteria for both Composition and Aggregation are met, the system infers Composition. This is true because Composition occurs earlier in the list.

Specialization

Applies only to table inheritance, to relationships between base and derived tables.

The system sets the RelationshipType property to Specialization whenever table inheritance is involved.

Link

Is a non-relational relationship. Link requires that the Validate property be set to No.

This type of relationship supports navigation between forms that list many records from a table and forms that provide detail fields for one record from the table.

Link is meant only to support the migration of extended data type (EDT) link relations for upgrade to Microsoft Dynamics AX 2012 from earlier versions of the product. Migration tools create this type relationship, but you must not.

Composition

Is a stronger type of Aggregation. A table must not have more than one Composition relation. For example, a building is composed of rooms, and a given room cannot exist in more than one building.

If the criteria for Composition are met, but you manually assign the value of Aggregation or Association, the system leaves the value as Aggregation or Association.

Aggregation

Is appropriate when the child table is considered to be subordinate to the entity of the parent table.

The system infers Aggregation when either of the following is true:

  • The parent table has a delete action node that is defined to use this relation node.

  • Any of the foreign key fields for this relation in the child table have their Mandatory property set to Yes.

If the criteria for Aggregation are met, but you manually assign the value of Association, the system leaves the value as Association.

Association

The concept of a standard foreign key.

You must set the RelationshipType property to Association if the system does not set the value of property to anything, and both Aggregation and Composition are inappropriate.

See also

Table Relation Properties