He creado una nueva aplicación ASP.NET MVC 4 y me gustaría que primero use el código. Sin embargo, inicialmente no parece crear el archivo de la base de datos si no existe. Si elimino el archivo .mdf de la carpeta App_Data, entonces consigo la siguiente excepción cuando la aplicación intenta acceder a la base de datos:Excepción cuando el código intentó crear la base de datos por primera vez
System.Data.SqlClient.SqlException: Cannot attach the file '<path-to-db-file>.mdf' as database '<my-db-file-name>'.
Si me quedo en la aplicación en el depurador, entonces puedo ver que la excepción se produce en el método InitializeSimpleMembershipAttribute :: OnActionExecuting cuando se llama a LazyInitializer.EnsureInitialized. La excepción es capturado:
[System.Reflection.TargetInvocationException] {"Exception has been thrown by the target of an invocation."} System.Reflection.TargetInvocationException
Con una excepción interna de:
[System.InvalidOperationException] {"The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588"} System.InvalidOperationException
¿Qué tiene entonces la primera excepción que he mencionado anteriormente como la excepción interna de ello.
¿Alguna idea de lo que estoy haciendo mal?
actualización
he acaba de intentar con una nueva aplicación MVC4 marca. Puedo replicarlo haciendo lo siguiente:
- Cree la aplicación MVC en el asistente VS.
- Ejecute la aplicación por primera vez y vaya a la página de inicio de sesión (tenga en cuenta que ahora se genera el archivo mdf).
- Borre el archivo mdf y regrese a la página de inicio de sesión. La excepción ahora se arroja.
¿alguna vez entendiste esto? – Eonasdan
@Eonasdan, un año después, sí. Por favor mira mi respuesta. – joelmdev