Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Diese Seite enthält Informationen zum Einrichten von Beziehungen in Ihrem Modell mithilfe des EF-Designers. Allgemeine Informationen zu Beziehungen in EF und zum Zugreifen auf und Bearbeiten von Daten mithilfe von Beziehungen finden Sie unter Beziehungen & Navigationseigenschaften.
Zuordnungen definieren Beziehungen zwischen Entitätstypen in einem Modell. In diesem Thema wird gezeigt, wie man Zuordnungen mit dem Entity Framework Designer (EF Designer) erstellt. Die folgende Abbildung zeigt die Hauptfenster, die beim Arbeiten mit dem EF Designer verwendet werden.
Hinweis
Wenn Sie das konzeptionelle Modell erstellen, werden möglicherweise Warnungen zu nicht zugeordneten Entitäten und Assoziationen in der Fehlerliste angezeigt. Sie können diese Warnungen ignorieren, da nach der Auswahl, die Datenbank aus dem Modell zu generieren, die Fehler entfernt werden.
Übersicht über Verbände
Wenn Sie Ihr Modell mit dem EF Designer entwerfen, stellt eine edmx-Datei Ihr Modell dar. In der EDMX-Datei definiert ein Association-Element eine Beziehung zwischen zwei Entitätstypen. Eine Zuordnung muss die Entitätstypen angeben, die an der Beziehung beteiligt sind, und die mögliche Anzahl von Entitätstypen an jedem Ende der Beziehung, die als Multiplikation bezeichnet wird. Die Multiplikation eines Zuordnungsendes kann einen Wert von 1 (1), Null oder 1 (0,.1) oder viele (*) aufweisen. Diese Informationen werden in zwei untergeordneten End-Elementen angegeben.
Zur Laufzeit können Entitätstypinstanzen an einem Ende einer Zuordnung über Navigationseigenschaften oder Fremdschlüssel zugegriffen werden (wenn Sie Fremdschlüssel in Ihren Entitäten verfügbar machen). Bei verfügbar gemachten Fremdschlüsseln wird die Beziehung zwischen den Entitäten mit einem ReferentialConstraint-Element (einem untergeordneten Element des Association-Elements ) verwaltet. Es wird empfohlen, Fremdschlüssel für Beziehungen in Ihren Entitäten immer zu zeigen.
Hinweis
In einer n:n-(*)-Beziehung können Sie den Entities keine Fremdschlüssel hinzufügen. In einer *:*-Beziehung werden die Zuordnungsinformationen mit einem unabhängigen Objekt verwaltet.
Informationen zu CSDL-Elementen (ReferentialConstraint, Association usw.) finden Sie in der CSDL-Spezifikation.
Zuordnungen erstellen und löschen
Beim Erstellen einer Zuordnung mit dem EF Designer wird der Modellinhalt der edmx-Datei aktualisiert. Nachdem Sie eine Verknüpfung erstellt haben, müssen Sie die Zuordnungen für diese Verknüpfung erstellen (wie später in diesem Abschnitt erläutert).
Hinweis
In diesem Abschnitt wird davon ausgegangen, dass Sie bereits die Entitäten hinzugefügt haben, zwischen denen Sie eine Zuordnung zu Ihrem Modell erstellen möchten.
So erstellen Sie eine Verknüpfung
Klicken Sie mit der rechten Maustaste auf einen leeren Bereich der Entwurfsoberfläche, zeigen Sie auf "Neu hinzufügen", und wählen Sie "Zuordnung..." aus.
Füllen Sie die Einstellungen für die Zuordnung im Dialogfeld "Zuordnung hinzufügen " aus.
Hinweis
Sie können die Navigationseigenschaften oder Fremdschlüsseleigenschaften nicht zu den Entitäten am Ende der Zuordnung hinzufügen, indem Sie die Kontrollkästchen **Navigationseigenschaften** und **Fremdschlüsseleigenschaften zum <Name des Entitätstyps> deaktivieren**. Wenn Sie nur eine Navigationseigenschaft hinzufügen, kann die Zuordnung nur in eine Richtung durchlaufen werden. Wenn Sie keine Navigationseigenschaften hinzufügen, müssen Sie auswählen, ob Fremdschlüsseleigenschaften hinzugefügt werden sollen, um auf Entitäten am Ende der Zuordnung zuzugreifen.
Klicke auf OK.
So löschen Sie eine Zuordnung
Gehen Sie wie folgt vor, um eine Zuordnung zu löschen:
Klicken Sie mit der rechten Maustaste auf die Zuordnung auf der EF Designer-Oberfläche, und wählen Sie "Löschen" aus.
ODER -
Wählen Sie eine oder mehrere Zuordnungen aus, und drücken Sie die ENTF-TASTE.
Einschließen von Fremdschlüsseleigenschaften in Ihre Entitäten (referenzielle Einschränkungen)
Es wird empfohlen, die Fremdschlüssel für Beziehungen in Ihren Entitäten stets verfügbar zu machen. Entity Framework verwendet eine referenzielle Einschränkung, um zu identifizieren, dass eine Eigenschaft als Fremdschlüssel für eine Beziehung fungiert.
Wenn Sie beim Erstellen einer Beziehung das <Kontrollkästchen "Fremdschlüsseleigenschaften zum Entitätstypnamen> hinzufügen " aktiviert haben, wurde diese referenzielle Einschränkung für Sie hinzugefügt.
Wenn Sie den EF Designer verwenden, um eine referenzielle Einschränkung hinzuzufügen oder zu bearbeiten, fügt der EF-Designer ein ReferentialConstraint-Element im CSDL-Inhalt der edmx-Datei hinzu oder ändert es.
Doppelklicken Sie auf die Zuordnung, die Sie bearbeiten möchten. Das Dialogfeld " Referenzielle Einschränkung " wird angezeigt.
Wählen Sie in der Dropdownliste "Prinzipal " die Prinzipalentität in der referenziellen Einschränkung aus. Die wichtigsten Eigenschaften der Entität werden der Liste "Prinzipalschlüssel " im Dialogfeld hinzugefügt.
Wählen Sie in der Dropdownliste "Abhängig" die abhängige Entität in der referenziellen Einschränkung aus.
Wählen Sie für jeden Prinzipalschlüssel, der über einen abhängigen Schlüssel verfügt, einen entsprechenden abhängigen Schlüssel aus den Dropdownlisten in der Spalte "Abhängiger Schlüssel " aus.
Klicke auf OK.
Zuordnungen erstellen und bearbeiten
Sie können angeben, wie eine Assoziation in der Datenbank im Fenster „Zuordnungsdetails“ des EF-Designers abgebildet wird.
Hinweis
Sie können nur Details für die Zuordnungen abbilden, für die keine referenzielle Einschränkung angegeben ist. Wenn eine referenzielle Einschränkung angegeben wird, wird eine Fremdschlüsseleigenschaft in die Entität aufgenommen, und Sie können die Mapping-Details für die Entität verwenden, um zu steuern, welcher Spalte der Fremdschlüssel zugeordnet wird.
Erstellen einer Assoziationsabbildung
Klicken Sie mit der rechten Maustaste auf eine Zuordnung in der Entwurfsoberfläche, und wählen Sie "Tabellenzuordnung" aus. Dadurch wird die Zuordnungsabbildung im Fenster „Zuordnungsdetails“ angezeigt.
Klicken Sie auf "Tabelle oder Ansicht hinzufügen". Es wird eine Dropdownliste angezeigt, die alle Tabellen im Speichermodell enthält.
Wählen Sie die Tabelle aus, der die Zuordnung zugeordnet wird. Im Fenster "Zuordnungsdetails " werden beide Enden der Zuordnung und die wichtigsten Eigenschaften für den Entitätstyp an jedem Ende angezeigt.
Klicken Sie für jede Schlüsseleigenschaft auf das Feld " Spalte ", und wählen Sie die Spalte aus, der die Eigenschaft zugeordnet wird.
Bearbeiten einer Assoziationsabbildung
- Klicken Sie mit der rechten Maustaste auf eine Zuordnung in der Entwurfsoberfläche, und wählen Sie "Tabellenzuordnung" aus. Dadurch wird die Zuordnungsabbildung im Fenster Zuordnungsdetails angezeigt.
- Klicken Sie auf "Karten zu <Tabellenname>". Es wird eine Dropdownliste angezeigt, die alle Tabellen im Speichermodell enthält.
- Wählen Sie die Tabelle aus, der die Zuordnung zugeordnet wird. Im Fenster "Zuordnungsdetails " werden beide Enden der Zuordnung und die wichtigsten Eigenschaften für den Entitätstyp an jedem Ende angezeigt.
- Klicken Sie für jede Schlüsseleigenschaft auf das Feld " Spalte ", und wählen Sie die Spalte aus, der die Eigenschaft zugeordnet wird.
Bearbeiten und Löschen von Navigationseigenschaften
Navigationseigenschaften sind Abkürzungseigenschaften, die verwendet werden, um die Entitäten an den Enden einer Assoziation in einem Modell aufzufinden. Navigationseigenschaften können erstellt werden, wenn Sie eine Zuordnung zwischen zwei Entitätstypen erstellen.
So bearbeiten Sie Navigationseigenschaften
- Wählen Sie eine Navigationseigenschaft auf der EF Designer-Oberfläche aus. Informationen zur Navigationseigenschaft werden im Visual Studio-Eigenschaftenfenster angezeigt.
- Ändern Sie die Eigenschafteneinstellungen im Eigenschaftenfenster .
So löschen Sie Navigationseigenschaften
- Wenn Fremdschlüssel in Entitätstypen im konzeptionellen Modell nicht offengelegt werden, kann das Löschen einer Navigationseigenschaft dazu führen, dass die entsprechende Assoziation nur in eine Richtung durchquerbar ist oder überhaupt nicht durchquerbar ist.
- Klicken Sie mit der rechten Maustaste auf eine Navigationseigenschaft auf der EF Designer-Oberfläche, und wählen Sie "Löschen" aus.