Entity Framework-Code Erste Datenmigrationen funktionieren nicht mit VS2012 Web Deploy

9

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:

%Vor%

Irgendwelche Vorschläge würden sehr geschätzt werden.

Danke,

Tim

    
Tim Coulter 20.09.2012, 14:12
quelle

2 Antworten

3

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.

    
Tim Coulter 22.09.2012, 15:00
quelle
0

Versuchen Sie Folgendes: Aktivieren-Migrationen -Force

Stellen Sie sicher, dass das Folgende auf "True" gesetzt ist AutomaticMigrationsEnabled = true;

Neu veröffentlichen - für mich gearbeitet

    
Andy A. 23.01.2014 13:01
quelle