Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Entity Framework e (1 para muitos)-(muitos para 1) (1 - * * - 1) relações


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.