Hello Everyone,
Today I am going to share my thoughts on Dataverse N:N vs Choice vs Manual N:N
Let’s get’s started.
Let’s delve into the difference between Dataverse N:N, Choice and Manula N:N relationships:
1. Dataverse N:N (Many to Many) Relationships:
Definition: In Dataverse, N:N relationship allows for a many to many association between two tables.
Hierarchy: Unlike 1:N (one to many) relationships, N:N relationships do not establish an explicit hierarchy between rows.
Configuration:
No Lookup columns or behaviors need to be configured.
Rows created using N:N relationships are considered peers, and the relationship is reciporal.
Storage:
A relationship (or intersect) table stores the data that associates the two tables.
This table has a one to many relationship with both related tables and only stores the necessary values to define relationship.
Custom column cannot be added to the relationship table, and it is not visible in the user interface.
Creation:
Choose the two tables you want to participate in the relationship.
Decide how you want the respective lists to be available within the navigation for each table.
Note that not all tables can be used with N:N relationships.
Designers:
Power Apps Portal: Provides an easy streamlined experience but lacks some special settings.
Solution explorer: Offers more flexibility for less common requirements.
You can also create N:N relationships by importing a solution or using Metadata Services.
Use Cases: Ideal for scenarios where multiple records from both tables need to be associated(e.g., Opportunities and competitors in Dynamics 365 Sales).
2. Choice Relationships:
Usage: Commonly used when dealing with a single table and static choices.
Configuration: Choice are predefined and do not involve complex relationships.
Example: If you have a dropdown field with fixed options(e.g., “High”, “Medium”, “Low”), you’re using a choice relationship.
3. Manual N:N Relationships:
Definition: These are created manually without relying on the built in intersect entity.
Configuration:
You create your own intersect entity to establish the many to many relationship.
Provide more control over the relationship behavior.
Use Cases: Useful when you need custom logic or additional fields in the intersect entity.
In Summary, choose the relationship type based on your specific requirements: Dataverse N:N for true many to many associations, choice for simple predefined options, and manual N:N when customizing the relationship behavior.
That’s it for today.
I hope this helps.
Malla Reddy Gurram(@UK365GUY)
#365BlogPostsin365Days