Aktualisieren Sie das Datenbankschema in Entity Framework

.net entity-framework schema

Frage

Ich habe VS SP1 installiert und mit Entity Framework herumgespielt.

Ich habe ein Schema aus einer vorhandenen Datenbank erstellt und einige grundlegende Vorgänge ausgeführt.

Das meiste lief gut, mit Ausnahme der Aktualisierung des Datenbankschemas.

Ich habe die Datenbank in jeder Hinsicht geändert:

  • fügte eine neue Tabelle hinzu
  • eine Tabelle gelöscht
  • Eine neue Spalte wurde zu einer vorhandenen Tabelle hinzugefügt
  • eine Spalte aus einer vorhandenen Tabelle gelöscht
  • hat den Typ einer vorhandenen Spalte geändert

Die ersten drei liefen gut, aber der Typwechsel und das Löschen der Spalte folgten nicht den Datenbankänderungen.

Gibt es eine Möglichkeit, Arbeit vom Designer zu machen? Oder wird es momentan nicht unterstützt? Ich habe noch kein verwandtes Material gefunden, aber immer noch gesucht.

Akzeptierte Antwort

Ich vermute, dass diese möglicherweise nicht passieren, weil sie den Build für vorhandenen Code zerstören würden, aber das ist nur eine Vermutung meinerseits.

Hier ist meine Logik:

Erstens soll EF mehr als 1: 1-Tabellenzuordnung sein. Es ist daher möglich, dass das Löschen einer Spalte aus Tabelle A nicht bedeutet, dass für diese Entität keine Eigenschaftsbeschreibung vorhanden sein sollte. Sie können diese Eigenschaft einfach einer anderen Tabelle zuordnen.

Zweitens könnte das Ändern eines Typs die Builds nur brechen. das ist die einzige Begründung.


Beliebte Antwort

Ich habe festgestellt, dass es im Allgemeinen immer noch einige Fehler mit der Funktion "Modell aus Datenbank aktualisieren" gibt.

Schlüssel sind der Killer für mich - Ich muss noch Änderungen an einer Fremdschlüsselbeziehung vornehmen oder einer Tabelle einen Primärschlüssel hinzufügen und den Updater ordnungsgemäß arbeiten lassen (dadurch wird ein Fehler beim Kompilieren der generierten Datei verursacht code) - um das Problem zu lösen, müssen Sie lediglich das Modell löschen und erneut importieren (dauert nur eine Minute).



Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum