Understanding the RelationshipType Enumeration [AX 2012]


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 RelationshipTypeproperty of the new relation. The list of possible values for the RelationshipType property is the list of elements in the RelationshipTypeenum. The meaning of each element in the RelationshipType enum is described in this topic.
The following table describes the elements of the RelationshipType property.
Element name
Description
Automatic inference
NotSpecified
Often the default value for the RelationshipTypeproperty.
When the RelationshipType property has the valueNotSpecified, 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 andAggregation 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 toSpecialization 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 toYes.
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 toAssociation if the system does not set the value of property to anything, and both Aggregation andComposition are inappropriate.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.