Me encuentro con el problema exacto como se describe aquí (lea la sección "No se puede adjuntar a un archivo MDF eliminado"), pero la solución al problema no se dice allí ...
En resumen, el problema es que después de eliminar el .mdf
archivo, se produce la siguiente excepción cuando intento acceder a la base de datos utilizando EF 5.0.
DataException-> EntityException-> SqlException:
no se puede adjuntar el archivo '{0}' como base de datos '{1}'
Eliminé el archivo DB y ahora recibo ese desagradable mensaje de error cuando ejecuto la aplicación esperando que use su inicializador. Cualquier forma de arreglar esto?
sql-server
asp.net-mvc
visual-studio-2012
entity-framework-5
localdb
Shimmy Weitzhandler
fuente
fuente
Respuestas:
Si elimina el archivo DB, aún permanece registrado con SqlLocalDB. A veces lo arregla para eliminar la base de datos. Puedes hacer esto desde la línea de comando.
Ejecute los siguientes comandos:
sqllocaldb.exe stop v11.0
sqllocaldb.exe delete v11.0
fuente
v11.0
es específico de SQL LocalDB 2012. Si está utilizando LocalDB 2014, MS lo renombró en suMSSqlLocalDb
lugar.Para aquellos que todavía buscan una solución ...
¡Vaya a Ver / Explorador de objetos de SQL Server y elimine la base de datos del subnodo (localdb) \ v11.0!
Esencialmente hay una base de datos local retenida de dónde deberían estar los archivos, y si desea eliminar los archivos de la base de datos, asegúrese de eliminarlos de esta utilidad del explorador, no manualmente.
fuente
Primero probé la solución de JSobell pero no vi mi base de datos listada allí. Ejecuté los comandos de CodingWithSpike desde el símbolo del sistema de desarrollador VS, pero tampoco funcionó. Finalmente ejecuté los mismos comandos de CodingWithSpike desde Package Manager Console y funcionó.
fuente
Bien.
Mi solución era simple, cambié para usar el servidor local:
Cambié el
DataSource
atributo en la cadena de conexión de:A:
Otra solución es iniciar sesión en LocalDb a través de SQL Management Studio e intentar eliminar esa base de datos:
Sin embargo, no funcionó para mí, cuando trato de eliminarlo dice "TÍTULO: Microsoft SQL Server Management Studio
Cuando trato de desconectarlo, la base de datos no aparece en la lista para la selección de desconexión, "Desconectar" también me lleva al error anterior.
Lo que me lleva a pensar que este es un error sólido en LocalDB.
fuente
La solución más fácil es simplemente cambiar el nombre de su base de datos en la cadena de conexión. Consulte el blog Rowan Millers Cómo eliminar una base de datos de Visual Studio 2012 para obtener soluciones alternativas. Esperamos solucionar este problema en una edición futura.
fuente
La mejor y más fácil respuesta La acabo de resolver ahora, solo use su nombre de servidor sql como fuente de datos, el catálogo inicial será el nombre de su base de datos y allí eliminará la línea mdf
fuente
En mi caso, uso migraciones y en la configuración simplemente cambié el nombre de dataContext y la clase dataContext en sí (solo renombre), luego intente nuevamente y eso ayudó
fuente
Para SQL 2014, siga la respuesta seleccionada CodingWithSpike y este comentario
fuente
v11.0
aProjectsV12
. Al menos en mi máquina :-).Tuve el mismo problema y lo resolví configurando manualmente la carpeta "DataDirectory" en otra carpeta en los binarios de mi aplicación.
Puse esta línea en el método Global.asax Application_Start:
Mi cadena de conexión está configurada actualmente para esto:
fuente
DataDirectory
ya está configurado en el localApp_Data
de forma predeterminada, por lo que, a menos que se haya cambiado explícitamente antes, su código no hace nada.Podría solucionarlo renombrando el nombre de DataBase en mi cadena de conexión, desde la aspnet predeterminada {números} a un nombre simple, funcionó.
fuente
Conéctese a (LocalDb) \ v11.0 usando Sql server management studio, elimine el db y luego haga una base de datos de actualización en la consola del administrador de paquetes.
fuente
Yo tuve el mismo problema. Ejecuté los siguientes comandos en la consola del administrador de paquetes y solucionó el problema
fuente