Ich bin auf VS 2012 RTM, mit EF 5. Ich mache Code First, aber ich versuche, Code-Migrationen zu ignorieren, da ich gerade in der Entwicklung bin. Um sie zu vermeiden, habe ich dieseWie man mit LocalDB und EF arbeitet, ohne Migrationen zu verwenden
gesetztDatabase.SetInitializer(new DropCreateDatabaseIfModelChanges<SomeContext>());
gelegentlich, auch wenn ich nicht glaube, ich habe das Modell berührt, entscheidet sie neu zu erstellen. Das ist gut. In der Regel führt dies jedoch zum Fehler
Datenbank kann nicht gelöscht werden, weil sie gerade verwendet wird.
Also beschloss ich, die Datenbank vollständig zu löschen. Ich gehe in VS, gehe zum "SQL Server Object Explorer", finde die DB und lösche sie. Jetzt bin ich bei
Kann nicht hängen Sie die Datei ‚{0}‘ als Datenbank ‚{1}‘ stecken
Ich hatte diese letzte Nacht geschehen und ich fummelte gerade herum, bis es funktioniert (shut Tasks herunterfahren, VS neu starten, DB und Dateinamen in web.config etc. ändern.
Also Frage 1) Wie komme ich aus diesem Zustand heraus?
Aber die wichtigere Frage, wie verhindere ich, dass ich überhaupt in diesen Zustand komme?
Warum nicht automatische Migrationen verwenden? Sie können die DB-Initialisierungsmethode jederzeit ändern, auch wenn Sie sie bei der Bereitstellung in der Produktion bereitstellen. –
[This] (http://msdn.microsoft.com/en-us/data/jj554735) listet einige Gründe auf, warum ich keine automatischen Migrationen verwenden möchte. Außerdem erhalten Sie nur so weit, bis Sie Code-basierte Migrationen trotzdem verwenden müssen. –
Ich stehe vor dem gleichen Problem haben Sie eine Lösung gefunden? – Shimmy