Freigeben über


Vom Modellaktualisierungs-Assistenten an einer EDMX-Datei vorgenommene Änderungen

Mit dem Modellaktualisierungs-Assistenten können Sie eine EDMX-Datei aktualisieren, nachdem Änderungen an der zugrunde liegenden Datenbank vorgenommen wurden. Die folgenden Punkte sollten beachtet werden, wenn Sie den Modellaktualisierungs-Assistenten zum Aktualisieren einer EDMX-Datei verwenden:

  • Beim Aktualisieren der EDMX-Datei auf Grundlage von Datenbankänderungen überschreibt der Modellaktualisierungs-Assistent das vorhandene Speichermodell. Dies bedeutet, dass am Speichermodell durchgeführte benutzerdefinierte Änderungen gelöscht werden.

  • Der Modellaktualisierungs-Assistent nimmt nur hinzufügende Änderungen am konzeptionellen Modell und an den Mappings vor. Dies bedeutet, dass der Modellaktualisierungs-Assistent dem konzeptionellen Modell entsprechende Entitäten und Zuordnungen hinzufügt und diese dem Speichermodell zuordnet, wenn der Datenbank ein neues Objekt hinzugefügt wird. Wenn jedoch Objekte aus der Datenbank entfernt werden, entfernt der Modellaktualisierungs-Assistent die entsprechenden Entitäten und Zuordnungen nicht aus dem konzeptionellen Modell (entsprechende Mappings werden entfernt). Informationen zum Entfernen von Objekten aus dem Speichermodell ohne den Modellaktualisierungs-Assistenten finden Sie unter Gewusst wie: Löschen von Objekten aus dem Speichermodell (Entity Data Model-Tools).

  • Wenn das Kontrollkästchen Generierte Objektnamen in den Singular oder Plural setzen (auf der Registerkarte Hinzufügen des Assistenten) aktiviert ist, versucht der Assistent, die folgenden Aktionen auszuführen:

    • Alle Entitätstypnamen werden in den Singular gesetzt.

    • Alle Entitätenmengennamen werden in den Plural gesetzt.

    • Für jede Navigationseigenschaft, die höchstens eine Entität zurückgibt, wird der Name in den Singular gesetzt.

    • Für jede Navigationseigenschaft, die mehrere Entitäten zurückgibt, wird der Name in den Plural gesetzt.

    Der Assistent für Entity Data Model wendet englische Sprachregeln für Singular- und Pluralformen an, indem ein PluralizationService erstellt und an EntityModelSchemaGenerator übergeben wird.

  • Wenn das Kontrollkästchen Fremdschlüsselspalten in das Modell einbeziehen (auf der Registerkarte Hinzufügen des Assistenten) aktiviert ist, schließt der Assistent Eigenschaften für neu generierte Entitätstypen ein, die Fremdschlüsselspalten in der Datenbank entsprechen. Weitere Informationen finden Sie unter Defining and Managing Relationships.

Änderungen am konzeptionellen Modell beim Aktualisieren auf Grundlage der Datenbank

Die folgende Tabelle enthält detaillierte Informationen zu den Änderungen, die der Modellaktualisierungs-Assistent am konzeptionellen Modell vornimmt, wenn ein Objekt der Datenbank geändert wurde.

Datenbankobjekt Änderung am Objekt in der Datenbank Änderungen am konzeptionellen Modell beim Aktualisieren auf Grundlage der Datenbank

Tabelle/Sicht

Hinzugefügt

Der neue Entitätstyp und die entsprechenden Zuordnungen und Mappings werden dem konzeptionellen Modell hinzugefügt.

Gelöscht

Die Tabelle oder Sicht wird aus dem Speichermodell gelöscht. Alle Mappings zur Tabelle werden gelöscht. Wenn die Tabelle oder Sicht über eine oder mehrere Spalten verfügt, in denen Schlüssel für eine Fremdschlüsselbeziehung gespeichert werden, werden die Mappings für die entsprechenden Zuordnungen gelöscht.

Umbenannt

Das Umbenennen einer Tabelle oder Sicht hat die gleiche Wirkung auf das konzeptionelle Modell und die Mappings, wie das Löschen der Tabelle/Sicht mit dem alten Namen und das Hinzufügen der Tabelle/Sicht mit dem neuen Namen.

Primärschlüssel geändert

Wenn dem Primärschlüssel der Tabelle oder Sicht neue Spalten hinzugefügt werden, werden dem konzeptionellen Modell für alle Fremdschlüssel, die auf den neuen Primärschlüssel verweisen, Zuordnungen hinzugefügt. Die entsprechenden neuen Zuordnungen werden dem konzeptionellen Modell hinzugefügt. Zuvor bereits vorhandene Zuordnungen, die auf dem alten Primärschlüssel (oder einem oder beiden Enden dieser vorhandenen Zuordnungen) basieren, werden nicht mehr zugeordnet.

Cc716700.note(de-de,VS.100).gifHinweis:
Nicht zugeordnete Zuordnungen werden weiterhin auf der Designer-Oberfläche angezeigt und verursachen Validierungsfehler.Löschen Sie nicht zugeordnete Zuordnungen, oder ordnen Sie sie neu zu, um die Validierungsfehler zu korrigieren.

Wenn eine Spalte des Primärschlüssels entfernt wird, muss die Schlüsselbezeichnung der entsprechenden Entitätseigenschaft entfernt werden.

Wenn dem Primärschlüssel eine Spalte hinzugefügt wird, die als Entitätseigenschaft vorhanden war, muss die Entitätseigenschaft in einen Entitätsschlüssel umgewandelt werden. Weitere Informationen zum Ändern von Eigenschaften finden Sie unter Gewusst wie: Erstellen und Ändern von skalaren Eigenschaften (Entity Data Model-Tools).

Wenn dem Primärschlüssel eine vorhandene Spalte hinzugefügt wird, die zuvor einer Zuordnung zugeordnet war (und nicht einer Entitätseigenschaft), wird eine entsprechende neue Entitätseigenschaft erstellt.

Spalte

Hinzugefügt

Die entsprechenden Entitäten werden mit entsprechenden Eigenschaften und Mappings aktualisiert. Wenn die entsprechenden Typen Teil einer Vererbungshierarchie sind, wird nur der Entitätstyp, der dem Stamm der Hierarchie am nächsten liegt und der betroffenen Tabelle zugeordnet ist, mit den entsprechenden Eigenschaften aktualisiert. Damit wird verhindert, dass in untergeordneten Entitäten in der Hierarchie die gleichen Eigenschaften definiert werden, wie in deren übergeordneten Elementen.

Gelöscht

Mappings zur Spalte werden gelöscht.

Umbenannt

Das Umbenennen einer Spalte hat die gleiche Wirkung auf das konzeptionelle Modell wie das Löschen der Spalte mit dem alten Namen und Hinzufügen einer Spalte mit dem neuen Namen.

Wenn Sie eine Spalte umbenennen, die Teil einer Fremdschlüsseleinschränkung ist, werden dem konzeptionellen Modell eine neue Zuordnung und die erforderlichen Mappings hinzugefügt, sofern alle erforderlichen Entitätstypen vorhanden sind.

Definition geändert

Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen. Unter Umständen muss das Modell manuell aktualisiert werden, wenn der Spaltentyp so geändert wurde, dass der entsprechende Typ der Entitätseigenschaft nicht kompatibel ist. Weitere Informationen zum Ändern von Eigenschaften finden Sie unter Gewusst wie: Erstellen und Ändern von skalaren Eigenschaften (Entity Data Model-Tools).

Fremdschlüssel

Hinzugefügt

Wenn alle notwendigen Entitätstypen vorhanden sind, werden dem konzeptionellen Modell eine neue Zuordnung und die erforderlichen Mappings hinzugefügt.

Gelöscht

Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen.

Umbenannt

Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen.

Gespeicherte Prozedur

Hinzugefügt

Am konzeptionellen Modell und den Mappings werden keine Änderungen vorgenommen. Die gespeicherte Prozedur kann dem konzeptionellen Modell manuell als Funktionsimport hinzugefügt werden. Weitere Informationen finden Sie unter Gewusst wie: Importieren einer gespeicherten Prozedur (Entity Data Model-Tools).

Gelöscht

Mappings zur gespeicherten Prozedur werden gelöscht. Wenn der gespeicherten Prozedur ein Funktionsimport zugeordnet wurde, muss der Funktionsimport gelöscht oder einer anderen gespeicherten Prozedur zugeordnet werden. Wenn das Einfügungs-, Aktualisierungs- oder Löschverhalten eines Entitätstyps einer gespeicherten Prozedur zugeordnet war, werden die Mappings gelöscht.

Umbenannt

Mappings zur gespeicherten Prozedur werden für alle Funktionsimporte oder Einfügungs-, Aktualisierungs- und Löschverhalten eines Entitätstyps gelöscht. Dies hat die gleiche Wirkung auf das konzeptionelle Modell, wie das Löschen der gespeicherten Prozedur mit dem alten Namen und das Hinzufügen einer gespeicherten Prozedur mit dem neuen Namen. Es muss ein neuer Funktionsimport für die umbenannte gespeicherte Prozedur erstellt werden, oder der ursprüngliche Funktionsimport muss der umbenannten gespeicherten Prozedur neu zugeordnet werden.

Definition geändert

Wenn Parameter für die gespeicherte Prozedur hinzugefügt oder entfernt werden, werden alle Mappings zu der gespeicherten Prozedur ungültig. Wenn der gespeicherten Prozedur ein Funktionsimport zugeordnet wurde, muss der Funktionsimport gelöscht und neu erstellt werden. Wenn das Einfügungs-, Aktualisierungs- und Löschverhalten eines Entitätstyps der gespeicherten Prozedur zugeordnet war, muss das Verhalten u. U. neu zugeordnet werden.

Siehe auch

Aufgaben

Gewusst wie: Aktualisieren einer EDMX-Datei bei einer Änderung der Datenbank (Entity Data Model-Tools)

Weitere Ressourcen

Modellaktualisierungs-Assistent (Entity Data Model-Tools)
Aufgaben der Entity Data Model-Tools