Aktualisieren Sie Ihre EDMX, um die Änderungen in Ihrer Datenbank anzuzeigen (.net linq-to-entity)

.net-3.5 entity-framework linq linq-to-entities

Frage

  • Also ich habe meine edmx gemacht.
  • Dann ändere ich meine Datenbank ein wenig und ändere eine Spalte von NOT NULL in NULL.
  • Ich gehe in mein edmx, mache einen Rechtsklick und wähle "Update Model from Database"

Jetzt gehe ich in mein Programm und es wurde nicht aktualisiert ... Ich kann keine Null in die Spalte einfügen. Was muss ich tun, um den edmx richtig zu aktualisieren? Vielen Dank.

Akzeptierte Antwort

Die Auswahl des Aktualisierungsmodells aus der Datenbank ist die beste Methode zum Aktualisieren Ihres EDMX. Es gibt bestimmte Eigenschaften, die auf der konzeptionellen Ebene nicht aktualisiert werden.

Stellen Sie sicher, dass Ihre Store-Ebene aktualisiert wurde, indem Sie sie in der Model Viewer-Toolbox anzeigen. Wenn der Store ordnungsgemäß aktualisiert wurde, sind Sie in Ordnung und Ihre Datenbank wird synchronisiert. Wenn ja, gehen Sie in den visuellen Designer, klicken Sie auf das Feld, wechseln Sie zu Eigenschaften und aktualisieren Sie die NotNull-Eigenschaft auf der konzeptionellen Seite.


Beliebte Antwort

Update / Löschen aus dem EDMX ist nicht immer funktionsfähig. Wenn das Modell beim Klicken auf "Modell aus Datenbank aktualisieren" nicht aktualisiert wird, sagen Sie nach dem Aktualisieren einer Ansicht / Tabelle in der Datenbank Folgendes aus:

1) Löschen Sie die Ansicht / Tabelle aus dem Modelldiagramm
2) Schalten Sie das EDMX in die XML-Ansicht um (klicken Sie mit der rechten Maustaste auf die EDMX-Datei und wählen Sie "Öffnen mit")
3) Suchen und löschen Sie die XML-Entitätselemente
4) Wechseln Sie wieder zur EDMX-Ansicht
5) Klicken Sie auf Modell aus Datenbank aktualisieren

Dies sollte jede Art von Änderung widerspiegeln, die Sie an der Datenbank Ihres EDMX vorgenommen haben. Es ist umständlich, funktioniert aber einwandfrei.

In einer idealen Welt würde ich erwarten, dass das Update Model from Database die Änderungen von DB zu EDMX synchronisiert. Meistens funktioniert es jedoch nicht.



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