Ich erstelle eine MVC 5-App mit einem Code-First-Ansatz, aber ich habe auch einige gespeicherte Prozeduren in der SQL Server-Datenbank erstellt, gibt es eine Möglichkeit, diese gespeicherten Prozeduren auch in c # zu generieren, wenn die Datenbank erstellt wird durch Ausführen eines SQL-Skripts, wenn ja, wo soll ich das tun?
Späte Antwort, aber vielleicht bekommt jemand eine Antwort auf eine solche Frage
Ich hatte viel von views
und functions
und stored procedures
in meinem Projekt, und die Lösung, die ich verwendet habe, war wie folgt:
sql
-Datei in Ihrem Projekt, um alle Ansichten und Funktionen und Prozeduren zu löschen, falls sie vorhanden sind, rufen Sie sie auf drop.sql
zum Beispiel. view
und function
und stored procedure
eine separate sql
-Datei in Ihrem Projekt. Embedded Resource
, klicken Sie mit der rechten Maustaste auf die Datei, dann auf Eigenschaft, dann auf Build Action und wählen Sie Embedded Resource
YourFile.sql = & gt; Rechtsklick = & gt; Eigenschaften = & gt; Build Action, wählen Sie Embedded Resource
ExecuteSqlCommand
. Sie benötigen eine Methode, mit der Sie diese Dateien und den gesamten benötigten Code lesen können. drop.sql Struktur
%Vor%view.sql oder function.sql oder procedure.sql structure
%Vor%Migrationsmethode
%Vor%Ich habe angenommen, dass Sie alle SQL-Dateien im Ordner SQL erstellt haben Innerhalb des Ordners Migrationen in Ihrem Projekt
Zum Schluss die Methode Laden
%Vor%Der Vorteil dieser Lösung ist, dass sie jedes Mal ausgeführt wird, und Sie werden es tun Stellen Sie sicher, dass im Falle eines Problems (z. B. nach einer Weile ein Feldname geändert oder eine Tabelle entfernt wurde, die in einer Ansicht verwendet wurde oder Funktion oder Prozedur, ohne sich daran zu erinnern, dass Sie Ihre Prozeduren aktualisieren müssen, erhalten Sie einen Fehler und Sie können beheben, wenn Sie automatische Migrationen aktiviert haben.)
Hoffe das wird dir helfen
Ich würde Code-Migrationen verwenden.
In Ihrem Nuget-Paket-Manager können Sie eine leere Migration einrichten, indem Sie
eingeben %Vor%Dies sollte eine leere Klasse wie folgt erzeugen
%Vor%Sie müssen lediglich Ihre gespeicherte Prozedur wie folgt hinzufügen (vergessen Sie nicht, die gespeicherte Prozedur in der Down-Methode zu löschen, falls Sie die Migration in Zukunft rückgängig machen müssen).
%Vor%Aktualisieren Sie abschließend Ihre Datenbank
%Vor%Sie müssen wahrscheinlich Migrationen verwenden, um damit umzugehen. Eine gut aussehende Lösung kann Ссылка gefunden werden. Verwenden von Ressourcen, aber ich bin sicher, dass Sie den Text aus Ihren .sql-Dateien auf die gleiche Weise lesen können, wenn Sie nicht den Ressourcenpfad hinuntergehen möchten.
Tags und Links asp.net-mvc sql-server c# entity-framework stored-procedures