varios update término tipos subir reconoce nombre net mvc migrations migraciones migracion han habilitar framework first ensamblado encontrado contexto como comandos code asp archivos asp.net-mvc entity-framework ef-code-first

asp.net mvc - update - Eliminar archivo.mdf de app_data causa una excepción: no se puede adjuntar el archivo como base de datos



subir archivos mvc (6)

Borro mi clase DBContext y la vuelvo a crear en mi Proyecto MVC. A continuación, el archivo .mdf se vuelve a crear en App_Data

Estoy construyendo una aplicación web usando el código VS 2012 MVC4 primero. Para volver a crear el archivo .mdf después de cambiar el modelo, borré manualmente el archivo del directorio app_data en VS. Lo he hecho varias veces antes sin ningún problema.

Ahora recibo una excepción:

El proveedor subyacente falló en la apertura. ==> No se puede adjuntar el archivo MYDB.mdf como base ''MYDB'' datos ''MYDB'' .

Agradeceré su ayuda sobre cómo recrear el archivo .mdf .

¡Gracias!


Elimine esta línea de la cadena de conexión que debería funcionar;)

"AttachDbFilename = | DataDirectory | whateverdatabasenameame-20130917064511.mdf"


Eso que lo arregló para mí, desde la consola del Administrador de paquetes ejecuta estos comandos:

sqllocaldb.exe stop v11.0 sqllocaldb.exe delete v11.0

Y entonces:

Update-Database


Intente eliminarlo nuevamente de SQL Management Studio. Se quejará de que ya no hay ningún archivo físico, pero lo eliminará del navegador de objetos (verás después de actualizarlo)


Utilice el Explorador de objetos de SQL Server para eliminar la base de datos en lugar de simplemente eliminar el archivo .mdf en el Explorador de soluciones. De lo contrario, la instancia de SQL Server aún piensa que se utiliza el nombre de la base de datos y la próxima vez que intente adjuntar una base de datos al mismo nombre, no funcionará. Consulte la sección sobre el Catálogo inicial en esta página de MSDN:

http://msdn.microsoft.com/en-us/library/jj653752.aspx#initialcatalog


salga de localhost iis express y vuelva a intentarlo.