Ich erstelle eine Webanwendung mit VS 2012 MVC4-Code. Um die .mdf
-Datei nach dem Ändern des Modells neu zu erstellen, habe ich die Datei manuell aus dem Verzeichnis app_data in VS gelöscht. Ich habe das schon ein paar Mal ohne Probleme gemacht.
Jetzt erhalte ich eine Ausnahme:
Der zugrunde liegende Anbieter ist beim Öffnen fehlgeschlagen. ==> Die Datei kann nicht angehängt werden
MYDB.mdf
als Datenbank'MYDB'
.
Ich freue mich über Ihre Hilfe bei der Erstellung der .mdf
-Datei.
Vielen Dank!
Verwenden Sie SQL Server Object Explorer, um die Datenbank zu löschen, anstatt nur die .mdf-Datei im Projektmappen-Explorer zu löschen. Andernfalls glaubt die SQL Server-Instanz immer noch, dass der Datenbankname verwendet wird. Wenn Sie das nächste Mal versuchen, eine Datenbank an denselben Namen anzuhängen, funktioniert sie nicht. Siehe den Abschnitt "Anfangskatalog" auf dieser MSDN-Seite:
http://msdn.Microsoft.com/de-de/library/jj653752.aspx#initialcatalog
Das, was es für mich behoben hat.... Führen Sie in der Package Manager Console die folgenden Befehle aus:
sqllocaldb.exe stop v11.0
sqllocaldb.exe delete v11.0
Und dann:
Update-Database
Entfernen Sie diese Zeile aus der Verbindungszeichenfolge, die funktionieren sollte;)
"AttachDbFilename = | DataDirectory | whateverdatabasename-20130917064511.mdf"
Löschen Sie es erneut aus SQL Management Studio. Es wird sich darüber beschweren, dass es keine physische Datei mehr gibt, sondern aus dem Objektbrowser entfernt wird (Sie werden nach der Aktualisierung sehen)
beenden Sie localhost iis express und versuchen Sie es erneut.
Ich lösche meine DBContext-Klasse und erstellte sie erneut in meinem MVC-Projekt. Dann wird die MDF-Datei in App_Data neu erstellt