Aktualisieren Sie die Datenbank von der Paketmanagerkonsole in der ersten Codeumgebung

10

Code erste Umgebung

Ich versuche, die Datenbank von der Paket-Manager-Konsole zu aktualisieren. Wenn sich meine Domain-Klasse ändert, muss ich die Datenbank löschen und erstellen. Anstatt die Datenbank zu löschen, kann ich die Datenbank aktualisieren.

Ich habe bereits versucht, einige Blogs in Google zu lesen.

Befehle

%Vor%
  1. Mit diesem Befehl installiere ich das Entity Framework erfolgreich.

    %Vor%
  2. Mit diesem Befehl wurde die Migrationsdatei in meinem Projekt erstellt.

    %Vor%
  3. Mit diesem Befehl kann ich die Tabelle aktualisieren, aber ich habe ein Problem hier .

Fehler

  

Geben Sie das Flag '-Verbose' an, um die SQL-Anweisungen anzuzeigen, die auf die Zieldatenbank angewendet werden.   System.Data.SqlClient.SqlException (0x80131904): Beim Herstellen einer Verbindung zu SQL Server ist ein netzwerkbezogener oder instanzspezifischer Fehler aufgetreten. Der Server wurde nicht gefunden oder war nicht erreichbar. Stellen Sie sicher, dass der Instanzname korrekt ist und dass SQL Server so konfiguriert ist, dass Remoteverbindungen zugelassen werden.

Zweifel ist hier

Manchmal wird es aktualisiert, wenn sich nur ein Feld in der Klasse POCO ändert. Zum Beispiel habe ich die mehr Nummer der Domain-Klasse aktualisiert, wie kann ich die Datenbank von Package Manager Console aktualisieren. Irgendeine Idee?

    
vinodh 25.08.2015, 04:50
quelle

4 Antworten

12

Sie können die Verbindungszeichenfolge über ConnectionString parameter angeben:

%Vor%

Sie müssen diesen Parameter auch mit dem gleichen Wert für Add-Migration command:

verwenden %Vor%     
Andrey Molotkov 25.08.2015, 05:02
quelle
2

Sieht aus, als hätten Sie mehrere Probleme. Wenn Sie die Datenbank nicht löschen und neu erstellen möchten, wird dies von Ihrem Datenbankinitialisierer bestimmt. Wenn Sie Migrationen verwenden möchten, ändern Sie sie in MigrateDatabaseToLatestVersion. Ссылка

Zweitens spielt es keine Rolle, wie viele Felder Sie ändern. Sie werden auf der Grundlage der Änderungen der letzten Migration in eine einzige Migration umgewandelt.

Drittens scheint es, wie die anderen gezeigt haben, dass Sie ein Verbindungsstring-Problem haben. Sie können das zu Add-Migration und Update-Migration hinzufügen, aber ich würde es wahrscheinlich in der Anwendung reparieren. Ich setze meins in den Konstruktor meines Kontexts, der auf meine Konfigurationsdatei zeigt (web.config für ASP.NET).

%Vor%     
Steve Greene 25.08.2015 16:27
quelle
2

Ich habe

benutzt

Enable-Migrations -EnableAutomaticMigrations -Force

dann

Update-Database

Und das migrierte meine Änderungen (zusätzliche Spalten), während meine Testdaten erhalten blieben. Ich denke, das ist die faulste Option beim Prototyping.

    
toddmo 20.02.2017 19:37
quelle
0

Sie müssen SSDT aktualisieren Gehe zu Tools & gt; Erweiterung und Updates & gt; Aktualisierungen & gt; SQL Server-Datentools

    
aya mourad 18.08.2017 14:31
quelle