Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Entity Framework et relations (1 à plusieurs)-(plusieurs à 1) (1 - * * - 1)

Vous n'avez pas besoin de RowId spécial dans Worker2Job . Définissez simplement votre Worker2Job avec seulement deux colonnes :WorkerId et JobId et faites de ces deux colonnes la clé primaire composite de la table. Une fois que vous avez ajouté les trois tables au concepteur d'entités, il verra automatiquement la relation plusieurs à plusieurs et ne créera que deux entités avec la relation correcte dans le modèle. Worker l'entité aura des Jobs propriété de navigation et Job aura Workers propriété de navigation. Vous pourrez écrire une requête comme :

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

Une telle requête chargera un travail avec tous les travailleurs associés et vous aurez accès à leurs noms.