web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Dataverse: Many-To-Man...
Power Apps
Answered

Dataverse: Many-To-Many join table

(0) ShareShare
ReportReport
Posted on by Microsoft Employee

Dear Microsoft Dataverse users,

 

we are working on a canvas app handling customer information. Our tables are "Customer" and "Product/Service". These tables have a many to many relationship and are therefore connected by a joined table. Coming from an SQL standpoint, the joined table should have a primary key, containing both customerFK aswell as the Product/ServiceFK. This table should be named "CustomerProducts". 

 

So far, I have not found the option to create a composite primary key, consisting of both FKs. Any suggestions? Our alternative would be to create a new primary key. 

I have the same question (0)
  • Parvez Ghumra Profile Picture
    1,579 Moderator on at

    @22Faruk If you have modelled the relationship between both tables as a genuine many-to-many relationship, then the platform has created the intersect table for you automatically. However, this table is hidden from the maker portal's UI and you cannot customise it. The platform manages the data in this table for you automatically as you relate/unrelate records across the two tables on this relationship. And the constraint of only allowing unique combinations of records in this intersect table is also managed for you automatically by the platform. You do not need to implement any key constraints to enforce this.

  • Community Power Platform Member Profile Picture
    Microsoft Employee on at

    @parvezghumra ty for your reply. Well, I forgot to mention that in our context, we want to add metadata to this hidden intersect table. Do you have any other advice for our problem? A way to keep a many-to-many and configure the intersect table as well?

  • Verified answer
    Parvez Ghumra Profile Picture
    1,579 Moderator on at

    @22Faruk If you need to capture additional data on the intersect table, then your many-to-many relationship needs to be replaced/decomposed by introducing a custom intersect table between your two existing tables using a one-to-many and a many-to-one relationship. You can then add additional columns on this custom intersect table. Your ERD should look similar to the following

     

    Customer ------<-Customer Product/Service ->----- Product/Service

     

    You will then be able to add a Key to the custom intersect table to enforce uniqueness of values on specific column combinations

  • Fubar Profile Picture
    8,487 Super User 2026 Season 1 on at

    Answer provided by Parvez is correct, just adding, you may also see it referred to as a Manual (or custom) many-to -many versus the native or out of the box many-to-many

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
11manish Profile Picture

11manish 536

#2
WarrenBelz Profile Picture

WarrenBelz 426 Most Valuable Professional

#3
Haque Profile Picture

Haque 305

Last 30 days Overall leaderboard