Erhalten Sie mehrere DBCONTEXTS, um Migrationen mit derselben Datenbank zu verwenden
-
22-12-2019 - |
Frage
Basierend auf einem Muster-MVC5-Projekt versuche ich, den richtigen Weg zu lernen, um Migrationen umzugehen.
Im Stammverzeichnis habe ich einen Ordner mit dem Namen "dbcontexts" mit zwei Kontexten.
erster: identitycontext.cs
generasacodicetagpre.Ich habe dann einen Ordner mit dem Namen IdentityMigrations mit den configuration.cs
generasacodicetagpre.Dann habe ich Myctexte mit ähnlichen Eigenschaften.
Wenn ich versuche, den Befehl "Update-Database" auszuführen, erhalte ich diese Fehlermeldung: The type 'TryFive.Web.DbContexts.IdentityContext' does not inherit from 'System.Data.Entity.Migrations.DbMigrationsConfiguration'. Migrations configuration types must extend from 'System.Data.Entity.Migrations.DbMigrationsConfiguration'.
Jede Idee, wie man diese oder einen besseren Weg, dieses dbcontext-Zeug zu beheben?
Lösung
Vorschlag: Wenn Sie ein Beispielprojekt tun, um Migrationen zu lernen, wie Sie sagen, bleiben Sie an einem DBContext.Halten Sie es einfach - fusionieren Sie Ihre Entitäten in einen DBCONTEXT, der von generationstechnisch von IdentityDbContext<ApplicationUser>
Löschen Sie Ihre vorhandenen Ordner Migrations-Ordner, die Sie erstellt haben - und erneut "Enable-Migrations", nachdem Sie Ihren zweiten DBCONTEXT gelöscht haben.Dies hilft Ihnen, Migrationen weiter zu lernen, anstatt zu lernen, wie man zwei dbcontext in einem Projekt verwendet.
Auch @lajos, ich bin mir nicht sicher, welchen MVC Sie sprechen, aber mein Dbcontext ist noch nie von DBMigrationsconfiguration - sie erben von dbcontext oder identitydbcontext nie geerbt.Wenn Sie sich beziehen, ist die Migrationskonfigurationsklasse, die beim Ausgeben von "Enable-Migrations-Migrations" auf einem Projekt erzeugt wird.Es wird zum Erzeugen von Migrationen und Sämpfladendaten verwendet.