Ich habe ASP.NET MVC 3 Projekt, das Entity Framwork 4.3 und seine Migrationen verwendet. Nun möchte ich, dass Entity Framework eine Datenbank für mich erstellt, indem ich bereits vorhandene Migrationen verwende. Wenn ich versuche folgende Update-Datenbank Skript es mir das gibt auszuführen:Wie erstellt man eine Datenbank mithilfe von Code ersten Migrationen?
Update-Database -Verbose -ProjectName AssemblyWithMigrations -StartUpProjectName WebProjectAssembly No migrations configuration type was found in the assembly '/* my name of assembly */'. (In Visual Studio you can use the Enable-Migrations command from Package Manager Console to add a migrations configuration).
Aber, wenn ich versuche, Enable-Migrations
zu laufen sehe ich folgendes:
Migrations have already been enabled in project 'AssemblyWithMigrations '. To overwrite the existing migrations configuration, use the -Force parameter.
So, Das Problem ist EF versucht, die aktuelle Version der Migration zu aktualisieren, um die Datenbank zu aktualisieren, nehme ich an. Aber eine Datenbank existiert nicht und sie schlägt offensichtlich fehl.
Die Frage ist: Wie verwendet man EF-Migrationen zum Erstellen einer Datenbank, wenn sie nicht existiert? Oder, was ist der richtige Weg, um dies mit Nuget-Konsole zu tun?
Zusammengefasst, was ich will: 1. Startbefehl (vielleicht update-database
), die Datenbank mit meiner Datei web.config 2. alle Migrationen auf der erstellten Datenbank in Reihenfolge ihrer Erstellung angewandt werden schaffen.
Danke. :)
Ich dachte nicht, Migrationen war zum Erstellen von Datenbanken nur für die Aktualisierung von ihnen. –
Wenn die Datenbank nicht existiert, erstellt 'Update-Database' sie automatisch und wendet jede Migration an. Haben Sie zusätzliche Informationen? Es sollte niemals für dasselbe Projekt vorkommen, dass sowohl der Konfigurationstyp "Keine Migrationen gefunden" als auch "Migrationen wurden bereits aktiviert" gefunden wurden. – bricelam