Ich bin auf Entity Framework 6.0. Dies ist ein Entwicklungsproblem, nicht Production.EF Code Erste Datenbankinitialisierung und Migrationskonflikt
Ich denke, ich habe eine widersprüchliche Strategie an Ort und Stelle. Derzeit habe ich eine DropCreateDatabaseIfModelChanges Datenbankinitialisierer festgelegt und Migrationen aktiviert mit einer Startmethode in Configuration.cs. Beim Hinzufügen einer Migration und beim Ausführen der Update-Datenbank scheint es ein Glücksfall zu sein, wann die Datenbank gelöscht und neu erstellt wird und wann die Seed-Methode ausgeführt wird. Tatsache ist, es ist eine totale Lotterie, wenn beides passiert, und ich muss alle Arten von Tricks ziehen, um das Ding zur Arbeit zu bringen. Kann mir jemand sagen, ob es einen Konflikt gibt, wenn sowohl ein Datenbankinitialisierer als auch Migrationen aktiviert sind. Danke
Danke Steve, endlich eine comon Sinn Erklärung, wie dieses Zeug funktioniert. Ich habe bereits Migrationen aktiviert und 20 verschiedene Migrationen versucht, dieses Ding zum Laufen zu bringen. Daher ändere ich den Initialisierer in MigrateDatabaseToLatestVersion und verwende den Migrationssaat, um die Seed-Daten neu zu aktualisieren. – ShaunK
Außerdem habe ich bereits eine erste Migration erstellt. Muss ich dies erneut mit -IgnoreChanges tun, und wenn ja, warum. Danke – ShaunK
Hängt davon ab, ob Sie andere Datenbanken wie TEST, PROD oder andere Dev-Computer haben, die sich in unterschiedlichen Status befinden. Wenn das der Fall ist, müssen Sie alle auf der gleichen Seite finden. Wenn dies nur eine einzelne Datenbank ist und alle Ihre Änderungen angewendet wurden, können Sie alle Migrationen löschen, alle Datensätze in __MigrationHistory löschen und eine neue anfängliche Migration -IgnoreChanges durchführen. Jetzt werden alle Ihre Änderungen nachgeführt. –