2016-07-19 12 views
0

I Verwenden Sie Code-erste Migration, aber ich habe einen Fehler beim Ausführen der Anwendung. Fehler: Das Objekt "dbo.Products" kann nicht gefunden werden, weil es nicht existiert oder Sie keine Berechtigungen haben. Ich habe bereits Produkte Tabelle manuell auf SQL-Server gelöscht. Ich erwarte, wenn Projekt neu starten Alle Tabelle neu erstellen, wenn nicht in SQL Server vorhanden.Warum Code-First Migration nicht richtig funktioniert?

Zusätzlich schreibe ich 2 Zeile für konfigurieren Migration.

AutomaticMigrationsEnabled = true; 
AutomaticMigrationDataLossAllowed = true; 

Hilfe?

Antwort

1

Wenn Sie Migrationen verwenden, sollten Sie die Datenbank nicht "manuell" ändern. Jetzt generiert EF Code, um die Tabelle für Sie zu entfernen, aber es existiert nicht. Lösung besteht darin, den Code in der Up() -Methode auszukommentieren, die die Tabelle und die Update-Datenbank entfernt. Siehe https://msdn.microsoft.com/en-US/data/dn481501

Wenn Sie Ihre Datenbank neu erstellen möchten, müssen Sie zu einem Initialisierer wie DropCreateDatabaseIfModelChanges wechseln. Siehe http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx.

Verwandte Themen