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.
Hinweis:
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
Weitere Ressourcen
Modellaktualisierungs-Assistent (Entity Data Model-Tools)
Aufgaben der Entity Data Model-Tools