Create a many-to-many relationship between tables
This unit shows how to implement many-to-many relationships in Microsoft Dataverse with the following steps.
Many-to-many relationship
One-to-many table relationships establish a hierarchy between rows. With many-to-many (N:N) relationships, there's no explicit hierarchy and no lookup columns or behaviors to configure. Rows that are created by using many-to-many relationships can be considered peers and the relationship is reciprocal.
With many-to-many relationships, a relationship (or intersect) table stores the data that associates the tables. This table has a one-to-many table relationship with both of the related tables and only stores the necessary values to define the relationship.
Important
The intersect table is not visible to users. More importantly, you cannot add columns to the intersect table or trigger workflow or Power Automate cloud flows when rows are associated, or disassociated, with each other.
Creating a many-to-many relationship requires choosing the two tables that you want to participate in the relationship. These are the same options that are used for the primary table in one-to-many table relationships.
Tip
Not all tables can be used with many-to-many relationships. If the table is not listed in the designer, you cannot create a new many-to-many relationship with this table.
If you need to create a many-to-many relationship, follow these steps:
Sign into Power Apps maker portal
Select Tables and select one of the tables in the relationships that you want to create.
Select Relationships from the Schema pane.
Select + New relationship and Many-to-Many from the dropdown in the command bar.
In the Many-to-many pane, choose the related (Many) table to the current (Many) tables.
Select Done to save the new many-to-many relationship.
Now, you can use the many-to-many relationship in your apps.
Tip
You cannot edit the tables in a many-to-many relationship after it has been created; you can only delete it.
Connections
Creating relationships requires planning and administrative effort. With Dataverse, you can define connections between table rows without creating a table relationship. By using connections, users can establish a named link between rows to establish a less formal relationship, which doesn't justify creating an actual table relationship.
For example, connections between accounts and contacts might include employees, board members, shareholders, customers, suppliers, etc. Some connections can also be reciprocal, such as child and parent, husband and wife, or doctor and patient.
To allow users to make connections to a table's rows, enable Can have connections on the table's properties.
Connections are a way for users to record associations between almost any two rows and provide additional information to describe how the records are linked to one another.
Connection roles are used to name or describe the relationship between the two rows. Dataverse includes connection roles such as Employer and Former Employer. You can delete these connection roles and create your own connection roles.
Note
Connection roles can be included within a solution.