问题
I am building a web application using VS 2012 MVC4 code first. In order to recreate the .mdf
file after I changed the model, I manually deleted the file from the app_data directory in VS. I have done this a few times before without any problem.
Now I receive an exception:
The underlying provider failed on Open. ==> Cannot attach the file
MYDB.mdf
as database'MYDB'
.
I will appreciate your help on how to recreate the .mdf
file.
Thank you!
回答1:
Use SQL Server Object Explorer to delete the database rather than just deleting the .mdf file in Solution Explorer. Otherwise the SQL Server instance still thinks the database name is used and the next time you try to attach a database to the same name it won't work. See the section on Initial Catalog in this MSDN page:
http://msdn.microsoft.com/en-us/library/jj653752.aspx#initialcatalog
回答2:
That what fixed it for me, From Package Manager Console run these commands:
sqllocaldb.exe stop v11.0
sqllocaldb.exe delete v11.0
And then:
Update-Database
回答3:
Try deleting it again from SQL Management Studio. It'll complain that there's no physical file any more but will remove from the object browser (You'll see after you refresh it)
回答4:
Remove this line from the connection string that should work ;)
"AttachDbFilename=|DataDirectory|whateverdatabasename-20130917064511.mdf"
回答5:
exit localhost iis express and try again.
回答6:
I delete my DBContext class and re created it again in my MVC Project. Then .mdf file is re created in App_Data
来源:https://stackoverflow.com/questions/13001441/delete-mdf-file-from-app-data-causes-exception-cannot-attach-the-file-as-databa