Warum kann ich nicht bekommen, Entity Framework Migration in den ursprünglichen Zustand?
Habe ich gelöscht, Entwicklung Datenbank, und Migrationen-Ordner des Projekts. Beim ausführen von unit-Tests mit Nutzung meiner Projekt-Entwicklung-Datenbank neu erstellt wird. Ich verstehe nicht, warum der Betrieb der update-Datenbank gibt mir
PM> Update-Database
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Applying code-based migrations: [201302201840012_wieleDoWielu].
Applying code-based migration: 201302201840012_wieleDoWielu.
Warum migration: 201302201840012_wieleDoWielu merkt ? Wie Kann ich es löschen? Wo wird gespeichert?
Beste Grüße
Przemysław Staniszewski
- Vielleicht ist die __MigrationHistory Tabelle in Ihrer Datenbank? Überprüfen Sie die
MigrationId
Spalte. Warum wollen Sie zu löschen, obwohl? - Ich Teste das in dieser Art und Weise 1. löschen Migration Ordner 2. das Cmdlet Enable-Migration-EnableAutomaticMigrations -Kraft, die erstellten Ordner Migrationen 3. Datenbank löschen 4. unit-testen Sie die Datenbank erstellen 5. delete from [dbo].[__MigrationHistory] 6. führen Sie den Add-Migration -IgnoreChanges und 7. Nicht in der Lage zu generieren, die eine explizite migration, da die folgende explizite Migrationen sind angemeldet: [201302201810047_InitialCreate, 201302201840012_wieleDoWielu]. Gelten die ausstehende explizite Migrationen, bevor Sie versuchen, generieren Sie eine neue explizite migration.
- Haben Sie versucht, die 'update-Datenbank', bevor das add-migration. Es sollte nicht notwendig sein, in deinem Szenario, aber jedes mal hatte ich diesen Fehler dadurch behoben.
- Auch die Schritte im pawel.sawicz.eu - /entity-framework-zurücksetzen-Migrationen dosn ' T Arbeit für mich.
- Wenn ich saubere Datenbank ohne Tabellen und migration Tabelle und migration Ordner Projekt erinnere mich noch an die zwei Migrationen
- Hast du die gesamte Datenbank gelöscht?
- natürlich habe ich
- wenn ich in der Datenbank löschen und Migrationen Ordner und danach versuchen, rufen Sie das Add-Migration mit oder ohne -IgnoreChanges ich bekommen : kann Nicht erzeugen eine explizite migration, da die folgende explizite Migrationen sind angemeldet: [201302201810047_InitialCreate, 201302201840012_wieleDoWielu]. Gelten die ausstehende explizite Migrationen, bevor Sie versuchen, generieren Sie eine neue explizite migration.
- warum Projekt erinnern Sie sich an jene zwei Migrationen? wo sind die gespeichert, wenn Sie den Eintrag-Datenbank gelöscht wurde? Vielleicht gibt es eine andere Datenbank, aber wo? In (localdb)\v11.0 gibt es keine. Ich bin mit remote-SQL-server via tcp/ip für die Entwicklung der Datenbank.
- Habe ich gelöscht-Entwicklung-Datenbank-und-Migrationen Ordner nur Konfiguration.cs . Nach einem Aufruf von Add-Migration -IgnoreChanges ich bekomme immer noch Nicht in der Lage zu generieren, die eine explizite migration, da die folgende explizite Migrationen sind angemeldet: [201302201810047_InitialCreate, 201302201840012_wieleDoWielu]. Gelten die ausstehende explizite Migrationen, bevor Sie versuchen, generieren Sie eine neue explizite migration. Es gibt also diejenigen, migration gespeichert sind?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier eine Antwort. Bitte wiederherstellen migration Ordner und seine Migrationen-Datei (Wiederherstellung, um Ihr Projekt). Führen Sie dann die Schritte aus meinem theard
http://pawel.sawicz.eu/entity-framework-reseting-migrations/
1) Update-Datenbank -Targetmigration:0 - es ist der Schlüssel! zuerst
2) Wipe-out-Tabellen/- Migrationen (Sie müssen nicht zum löschen ganzer Ordner)
3) Add-Migration Initialisieren
4) Update-Datenbank
Versuchen Sie, diese Befehle
Sqllocaldb.exe stop-V11.0
Sqllocaldb.exe löschen V11.0
Diese sollten Sie entfernen den Verweis. Sie haben vielleicht kommentieren einige der änderungen, bevor Sie dies tun, und dann re-instating die änderungen zurück in das Modell, bevor Sie die migration.
Ich bin neu in diesem, so dass hoffentlich ich verstehe dein problem, denn es klingt wie die gleiche, die ich stieß kürzlich.
Eine dauerhafte Lösung kann es sein, fügen Sie den folgenden code zu Ihrem Globel-Datei und ersetzen Sie das, was Sie brauchen, es zu sein. Den Artikel dazu finden Sie unter dem folgenden link auch:
http://ilmatte.wordpress.com/2012/12/05/entity-framework-5-code-first-enabling-migrations-in-a-real-project/