Entity relationships represent how entities are related to each other within the Microsoft Dynamics CRM platform. The Microsoft Dynamics CRM customization tools make it easy to create custom entities with no programming experience, but the concepts behind establishing the relationships must be understood if the custom and system entities are to work together.
Entity relationships define the data relationship between two entities in the system. Microsoft Dynamic CRM uses entity relationships to manage how data interacts in the system metadata. This meta data design gives you the opportunity to customize and manage the data relationships easily.
You can create the following types of relationships:
- many-to-many, and
Many-to-many and self-referential relationships are new in Microsoft Dynamics CRM 4.0.
When you create or edit a relationship between entities in Microsoft Dynamics CRM, you must start from one of the entities; which entity is not important because only one relationship will be created. But the terminology used depends on whether you start from the primary entity or the related entity.
A 1:N (one-to-many) Relationship is a hierarchical relationship created or viewed from the primary entity. Any one entity instance from the primary entity can be referenced by many entity instances from the related entity.
An N:1 (many-to-one) Relationship is a hierarchical relationship created or viewed from the related entity. Many entity instances from the related entity can reference any one entity instance from the primary entity.
N:N (many-to-many) Relationships
A many-to-many relationship lets users relate one or more entity instances from another entity to an entity instance of the current entity. A many-to-many relationship is reciprocal. Therefore, entity instances can be related from either entity. A many-to-many relationship may also be self-referential. This means that one or more other entity instances of the current entity can be related to an entity instance of the same entity. Not every system entity can be included in a N:N relationship. Therefore, to create a N:N relationship, both entities must be eligible for N:N relationships. In a 1:N relationship, there is a primary entity and a related entity. There is no such relationship in a N:N because both entities are considered related entities.
When you are planning your CRM configuration, an important consideration is whether or not to use a N:N relationship. There are a few things to keep in mind.
- N:N relationship entities do not support adding additional attributes to the entity. For example, if you want to have an attribute classifying the type of relationship between the two entities.
- The N:N "Add Existing Record" lookup button does not use the CRM lookup view—it limits the visible records to 100, you cannot add additional view columns, and it only supports searching by the name of the record. This is problematic in the case where, for example, there are multiple locations of the same account, each with the same account name.
- The N:N entity that is created does not support workflow. That means that you cannot fire workflows when a new relationship is created, you also cannot use workflow to create relationships.
In a self-referential relationship, an entity has a relationship with itself. Both hierarchical relationships and many-to-many relationships can be self-referential. This allows entity instances to be directly associated with other entity instances of the same type. For example, opportunities can be linked to related opportunities.
The only limitation to self-referential relationships is that entity instances cannot be related to themselves in a parental relationship. This creates a circular reference.
Article written by Stephen Schilling, Technical Consultant – ERT Group
If you’re looking for specific CRM software information, check out the resources on the