Ich hatte endlose Probleme mit gespeicherten Prozeduren und EDMX. Ich habe eine Prozedur erstellt, das Modell aus der Datenbank aktualisiert und alles hat funktioniert. Ich habe dann eine Spalte entfernt und eine neue in die gespeicherte Prozedur eingefügt. Ich habe das Modell aktualisiert, aber der EDMX schien die Proc-Definition nicht zu aktualisieren.
Ich habe den Prozess gelöscht und ein Update durchgeführt, musste jedoch alle Verweise auf den Prozess manuell löschen. Am Ende habe ich nur den Prozess umbenannt und per Modellupdate aus der Datenbank importiert.
Ich hatte gerade das gleiche Problem. Neue Spalte hinzugefügt und vorhandene Spalte umbenannt. Ich habe das EDMX über das Aktualisierungsmodell aus der Datenbank aktualisiert, aber es gab keine Änderungen am EDMX, und offensichtlich schlägt es zur Laufzeit fehl. Wie sollte eine Aktualisierung der gespeicherten Prozedur mit Entity Framework durchgeführt werden?
Ich habe den Prozess entfernt, das Modell neu generiert, die 'cs'-Dateien für den Prozess gelöscht, kompiliert, dann die Prozedur erneut zur Datenbank hinzugefügt, das Modell neu generiert und bin fertig! Es fügt das gleiche Modell dreimal hinzu, wobei nur das letzte richtig ist. Warum bringt es immer wieder die alten Versionen zurück?
quelle
So aktualisieren Sie eine vorhandene gespeicherte Prozedur in der edmx-Datei:
quelle
Die einzige Lösung, die ich finden konnte, war das Schließen des EDMX und das manuelle Bearbeiten des XML, das selbst nach dem Entfernen des gespeicherten Prozesses aus der Datenbank und dem Aktualisieren des Modells aus der Datenbank immer noch den Prozess erwähnte. Das Entfernen der Zeilen aus dem XML hat das Problem behoben.
quelle
Folge diesen Schritten:
Schritt 1: Öffnen Sie Edmx
Schritt 2: Öffnen Sie den Modellbrowser
Schritt 3: Öffnen Sie komplexe Typen und entfernen Sie Ihre
procedure_Result
Schritt 4: Öffnen Sie Funktionen Importe und löschen Sie Ihre
procedure
Schritt 5 Öffnen Sie StoredProcedur und Funktionen und löschen Sie Ihre
procedure
Schritt 6: Speichern Sie Edmx
(Ctrl+S), Clean Solution , Update Model From Database
und wählen Sieprocedure
dieclean, build
Lösung aus, die Sie aktualisieren möchten . Erledigt !quelle
Aktualisieren Sie zunächst Ihren SP über "Modell aus Datenbank aktualisieren". Wenn dies funktioniert, ist dies in Ordnung, wenn nicht, und lösen Sie dieselbe Ausnahme aus. Führen Sie dann die folgenden Schritte aus. 1.Doppelklicken Sie auf die EDMX-Datei. 2. Löschen Sie im Modellbrowser SP aus komplexen Typen, Funktionsimporten und gespeicherten Prozeduren / Funktionen. 3. Speichern Sie alle. 4. Fügen Sie Ihren SP erneut über "Modell aus Datenbank aktualisieren" hinzu. 5. Alle speichern.
quelle