2009-07-31 5 views
1

Ich habe vor kurzem begonnen, Visual Studio 2008 und SQL Server Express zu verwenden. Ich komme aus einem Emacs/Django-Hintergrund, also bin ich nicht an diese Arbeitsweise gewöhnt. Gibt es eine schnelle und einfache Möglichkeit, eine Viele-zu-Viele-Tabelle zwischen zwei anderen Tabellen einzurichten? Dies entspricht der Tabelle, die von einem ManyToManyField in Django generiert wird.VS2008/SQL Server: Schnelle Viele-zu-Viele-Tabellen einrichten

Antwort

1

Ja, nehmen wir an, Sie haben zwei Tabellen: SALESPERSON und SALESREGION. Eine einzelne Verkaufsperson kann mit mehr als einer Region verknüpft sein und umgekehrt. Nehmen wir an, dass SALESPERSON einen nicht zusammengesetzten Primärschlüssel hat: salesperson_id (int, pk) und SALESREGION hat dasselbe: salesregion_id (int, pk).

Erstellen Sie eine weitere Tabelle namens SALESPERSON_SALESREGION mit zwei Fremdschlüsselspalten: salesperson_id (int) und salesregion_id (int). Erstellen Sie einen zusammengesetzten Primärschlüssel für diese Tabelle, der beide Spalten enthält.

Jetzt ist das Hinzufügen und Entfernen von Beziehungen so einfach wie das Hinzufügen und Entfernen von Zeilen in der neuen Tabelle.

Einige ORM-Frameworks wie Entity Spaces, und ich nehme an, die neue ADO.NET Entity Framework erkennen dieses Muster und wird viele-zu-viele Strukturen in der generierten Entity Data Access Layer erstellen.