Equipo, tengo una aplicación ASP.NET MVC que estoy implementando. Cuando lo despliego, la aplicación funciona bien, pero cuando llamo al Membership.CreateUser
, termina intentando crear la base de datos aunque ya exista. ¿Qué debo hacer para obtenerlo de manera que no intente llamar al CreateMembershipEntities
ya que la base de datos ya existe?Detener la inicialización de la base de datos EF para DefaultMembershipProvider
He intentado Database.SetInitializer
a un inicializador que no hace nada, he intentado eliminar el defaultConnectionFactory
en el Web.config - Actualmente no tengo opciones.
Espero su ayuda!
ACTUALIZACIÓN
Me acabo de enterar ayer que la razón por la que está tratando de crear la base de datos se debe a que los servidores anfitriones no permiten la conexión para consultar sysdatabases
y por lo que nunca existe la base de datos y es por lo tanto siempre tratando de crearlo Parece que tendré que volver al antiguo proveedor de membresía de AspNet y también alejarme del primer modelo de código EF.
<rant>
En una nota más personal, quería hacerle saber a Microsoft, ¡gracias por nada! Este primer modelo de código funciona bien con aplicaciones que se implementan en servidores que usted posee, pero los pone en la nube (que es donde todo va de todos modos) y no tiene suerte. Buen trabajo Microsoft! ¿Por qué no intentar conectarse a la base de datos para ver si ya existe?!? Si la conexión tiene éxito, debe existir; de lo contrario, supongo que no. </rant>
"* He intentado Database.SetInitializer a un inicializador que no hace nada *": La forma normal de deshabilitar la inicialización de la base de datos es configurar el inicializador en 'null', es decir' Database.SetInitializer (null) '. Pero no tengo idea de qué tienen que ver las cosas de EF con el ASP.NET MembershipProvider que usa Stored Procedure y sus propias conexiones (a menos que haya personalizado el proveedor de alguna manera). Me sorprendería si configurar el inicializador a 'null' resuelve el problema. –
Slauma
@Slauma El problema que estoy teniendo es que está tratando de crear las tablas de membresía cuando ya existen en la base de datos de producción. No tengo acceso a la base de datos DROP y CREATE en el servidor de producción. Otra cosa que vale la pena señalar aquí es que el servidor de producción es GoDaddy y el proveedor de membresía que estoy usando es el DefaultMembershipProvider que configura en una nueva aplicación ASP.NET MVC 4. Funciona muy bien en mi caja de desarrollo. –