Ich habe eine MVC 3.0-Anwendung mit Visual Studio 2012, .NET 4.5 und Entity Framework 5.0 erstellt.
Mithilfe von Code-First-Data-Migrationen kann ich Modelländerungen korrekt an meine lokale Testdatenbank weitergeben, aber ich kann nicht herausfinden, wie dies bei der Bereitstellung auf meinen Staging- und Produktionsservern mithilfe von Web Deploy funktioniert.
Ich habe den folgenden Artikel gelesen ...
... was erklärt, was passieren soll, aber es funktioniert nicht für mich, da Web Deploy nicht erkennen kann, dass ich Entity Framework verwende. Das Tutorial zeigt ein Kontrollkästchen, um die Ausführung von Code First Migrations zu aktivieren ...
... aber mein Dialog zeigt das einzige Update Database
-Kontrollkästchen für jede Datenbank an.
Ich habe gelesen, dass, damit Visual Studio die Verwendung eines Entity Framework-Kontextes erkennen kann, das Web.config
ein Element enthalten muss, das es definiert. Hier ist meins:
Irgendwelche Vorschläge würden sehr geschätzt werden.
Danke,
Tim
Ich habe die Lösung für dieses Problem durch Experimente entdeckt.
Tatsächlich wurde meine MVC-Anwendung von VS2012 durch Konvertierung von einer VS2010-Lösung erstellt. Da der Konvertierungsprozess keine Probleme gemeldet hat, ging ich davon aus, dass alles korrekt konvertiert wurde, einschließlich der Veröffentlichungsprofile.
Ich stellte jedoch fest, dass das Problem in der Konvertierung dieser Profile bestand. Solange ich ihre XML-Dateien nicht manuell bearbeite, gibt es offensichtlich keine Möglichkeit, alte importierte Profile zur Teilnahme an Code First Migrations zu veranlassen.
Das Erstellen neuer Veröffentlichungsprofile in der konvertierten Lösung führt zu dem erwarteten Verhalten.
Tags und Links entity-framework code-first-migrations code-first webdeploy