Skip to content

Model "implicit" many-to-many scenarios via readonly navigations (no join table) #20337

@roji

Description

@roji

In a real-world project, I encountered the following scenario:

  • There's a Patient entity which has a postal code.
  • There's a HealthAuthority entity, which also has a postal code and some other details.
  • There are multiple postal codes per health authority, because a district spans several postal codes (this is not a problem).
  • But there are also multiple health authorities per postal code, since postal codes and administrative districts don't overlap.
  • As a user, it would be great to have a collection navigation from Patient to all of their HealthAuthorities, which would simply produce a join on the postal code column in the HealthAuthority table.
  • However, as @AndriySvyryd pointed out offline, we can't mutate such a navigation - the relationship between Patients and HealthAuthorities isn't determined on an explicit, one-by-one basis via a join table (which can be skipped), but rather by an "implicit" connection (a Patient is related to a HealthAuthority if their postal codes correspond).
  • We could still allow modelling this as a read-only navigation. The user would mutate by modifying the HealthAuthority table directly etc.

/cc @Brar

PS Should leave customer-reported :)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions