Avvio di alcuni progetti con EF, ma avevo alcune domande su unire tabelle e chiavi, ecc. Diciamo che ho una tabella di applicazioni e una tabella di permessi. Le applicazioni hanno molte autorizzazioni e ogni autorizzazione può appartenere a molte applicazioni (molte a molte).
Ora, le tabelle di autorizzazione e autorizzazione sono semplici:
Applications
--------------
PK ApplicationID
Name
Permissions
--------------
PK PermissionID
Name
Ma qual è il modo migliore per fare il tavolo dei join? Ho queste due opzioni:
ApplicationPermissions
-----------------------
PK ApplicationPermissionID
CU ApplicationID
CU PermissionID
o
ApplicationPermissions
-----------------------
CPK ApplicationID
CPK PermissionID
PK = Primary Key
CPK = Composite Primary Key
CU = Composite Unique Index
Sei mai stato bruciato a farlo in un modo rispetto all'altro? è strettamente preferenziale? Mi è venuto in mente che molte delle "differenze" verranno sottratte dal mio modello di repository (ad esempio, non creerei quasi mai un intero oggetto di autorizzazione e lo aggiungo a un'applicazione, ma lo faccio per ID o nome univoco o qualcosa), ma suppongo che sto cercando storie dell'orrore, in un modo o nell'altro.