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.