Você não precisa de nenhum
RowId
especial em Worker2Job
. Basta definir seu Worker2Job
com apenas duas colunas:WorkerId
e JobId
e torne ambas as colunas chave primária composta da tabela. Depois de adicionar todas as três tabelas ao designer de entidade, ele verá automaticamente a relação muitos-para-muitos e criará apenas duas entidades com a relação correta no modelo. Worker
entidade terá Jobs
propriedade de navegação e Job
terá Workers
propriedade de navegação. Você poderá escrever consultas como:var query = context.Jobs.Include("Worker").Where(j => j.JobId == someId);
Essa consulta carregará um trabalho com todos os trabalhadores relacionados e você terá acesso aos seus nomes.