Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Entity Framework e (1 a molti)-(molti a 1) (1 - * * - 1) relazioni

Non hai bisogno di alcun RowId speciale in Worker2Job . Basta definire il tuo Worker2Job con solo due colonne:WorkerId e JobId e rendere entrambe queste colonne la chiave primaria composita della tabella. Dopo aver aggiunto tutte e tre le tabelle al designer di entità, vedrà automaticamente la relazione molti-a-molti e creerà solo due entità con la relazione corretta nel modello. Worker l'entità avrà Jobs proprietà di navigazione e Job avrà Workers proprietà di navigazione. Sarai in grado di scrivere query come:

var query = context.Jobs.Include("Worker").Where(j => j.JobId == someId);

Tale query caricherà un lavoro con tutti i lavoratori correlati e avrai accesso ai loro nomi.