Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Entity Framework und (1 to many)-(many to 1) (1 - * * - 1) Beziehungen

Sie benötigen keine spezielle RowId in Worker2Job . Definieren Sie einfach Ihren Worker2Job mit nur zwei Spalten:WorkerId und JobId und machen Sie diese beiden Spalten zum zusammengesetzten Primärschlüssel der Tabelle. Sobald Sie alle drei Tabellen zum Entitätsdesigner hinzugefügt haben, sieht er automatisch viele-zu-viele-Beziehungen und erstellt nur zwei Entitäten mit der richtigen Beziehung im Modell. Worker Entität wird Jobs haben Navigationseigenschaft und Job wird Worker haben Navigationseigenschaft. Sie können Abfragen schreiben wie:

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

Eine solche Abfrage lädt einen Job mit allen zugehörigen Arbeitern und Sie haben Zugriff auf ihre Namen.