Ich arbeite an einer ASP.NET 5-Anwendung, die Entity Framework 7 mit Migrationen verwendet, um die Microsoft Sql Server-Datenbank der Anwendung zu ändern.Entity Framework 7 Befehle Klärung - Migrationen hinzufügen vs. Datenbankaktualisierung?
Ich habe ein paar Probleme, wenn ich den Migrationsschritt erreiche, und ich würde gerne klären, was die Entity Framework-Befehle migrations add
und database update
tun.
Es ist mein Verständnis, dass
> dnx ef migrations add Initial
eine Datei im Namen Initial in einem Ordner namens Migrations enthält Code Endung C# erstellt, die Tabellen auf der Grundlage der Anwendung Modellklassen erstellen, und
> dnx ef database update
führt den Code aus, der w Ich füge diese Änderungen der Datenbank hinzu. Nach dem Befehl migrations add
wurde die Datenbank jedoch bereits erstellt, und die Konsole gibt einen Fehler aus, wenn ich den Befehl database update
ausführe und sage, dass die Tabellen bereits vorhanden sind.
Von dem, was ich auf verschiedenen Tutorials gelesen habe, scheint es migrations add
sollte eigentlich nicht auf die Datenbank auswirken, und die Änderungen würden stattfinden, wenn Sie database update
ausführen, aber es sieht nicht so aus.
Kann jemand erklären, was jeder dieser Schritte macht und wie sie zusammenpassen? Danke im Voraus!
ef Migration hinzufügen Initial erstellen Sie keine Datenbank, nur die Migrationsdatei. Ich vermute, dass Sie zuvor eine Datenbank erstellt und ein Update darauf ausgeführt haben, dann löschen Sie die Migrationsdatei und erstellen sie neu, ohne die Datenbank zu löschen. – Tseng
Ich hatte diese Probleme, wenn ich Modelle in einer vorhandenen Datenbank erstellte. Ich habe den Namen der Migration nur manuell in die Tabelle __efhistory eingefügt. Während EF7 sich zuerst auf Code konzentriert, ist die Realität, dass viele Entwicklungsprozesse zuerst Datenbank sind. – Tamayi