Ho colonne di questo tipo nel database:
User
- int Id
- string Name
Flat
- int Id
- string Describe
L'appartamento ha una persona che lo gestisce e altri residenti
Penso a questa soluzione:
Questa è la relazione di ManyToMany con una colonna aggiuntiva. In questa colonna ci saranno informazioni se è un amministratore
UserFlat
- int UserId
- int FlatId
- bool Creator
Sarà questo l'approccio giusto?
Come dovrei implementarlo esattamente?
È direttamente come una relazione ManyToMany o come una tabella creata e gestita manualmente?
Il blocco è che gli utenti possono appartenere a un solo appartamento (in futuro il gestore potrà appartenere a più appartamenti), ma le persone restanti possono appartenere a un solo appartamento
O è una soluzione completamente diversa e migliore?
Se un utente può avere solo un appartamento e un appartamento può avere un solo manager, non è necessaria una tabella separata. Questo dovrebbe essere sufficiente e funzionerà anche se un utente può essere gestore di più appartamenti:
User
- int Id
- string Name
- int FlatId > FK to a Flat
Flat
- int Id
- string Describe
- int ManagerId > FK to a User