Iniziare alcuni progetti con EF, ma ho avuto alcune domande su join tabelle e chiavi ecc. Diciamo che ho una tabella di applicazioni e una tabella di autorizzazioni. Le applicazioni hanno molte autorizzazioni e ogni autorizzazione può appartenere a molte applicazioni (molte-a-molte).
Ora, le tabelle Applicazione e Autorizzazione sono facili:
Applications
--------------
PK ApplicationID
Name
Permissions
--------------
PK PermissionID
Name
Ma qual è il modo MIGLIORE per fare il tavolo di 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 facendolo in un modo sopra l'altro? è strettamente preferenza? 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 aggiungerei a un'applicazione, ma lo faccio per ID o nome univoco o qualcosa), ma immagino che sto cercando storie horror, in un modo o nell'altro.