Pregunta

Por ejemplo estoy usando esta cadena de conexión:

<connectionStrings>    
<add name="PicturesDatabase" 
         connectionString=" Server=.;
                            Database=SomeprojectDatabase;
                            Trusted_Connection=True;"
         providerName="System.Data.SqlClient"/>
<../>

Y entonces lo uso en Application_Start ():

Database.DefaultConnectionFactory =
    new SqlConnectionFactory(ConfigurationManager.
        ConnectionStrings["PicturesDatabase"].ConnectionString);

Y en mi base de datos consigo esta nueva base de datos realmente extraño: MyAppNamespace.Models.PicturesCatalog con dos mesas dbo.EdmMetadata y dbo.Pictures

Las mesas están muy bien, pero ¿por qué no se crea una nueva base de datos llamada PicturesDatabase (como en la cadena de conexión) con esas tablas?

He intentado dejar caer esta tabla cuantas veces, lo hice intente crear PicturesDatabase y usarlo ... pero todavía genera este MyAppNamespace.Models.PicturesCatalog. ¿Cuál es el problema con él? Y ¿cómo puedo solucionarlo?

¿Fue útil?

Solución

System.Data.Entity.Infrastructure.SqlConnectionFactory no está pensado para su uso en esta forma. Esta fábrica de conexiones incluye un constructor que nos permite obviar piezas de la picadura de conexión final, como nombre de usuario, contraseña y servidor y no todo el asunto.
Por ejemplo, podemos cambiar el servidor de base de datos de la siguiente manera:

Database.DefaultConnectionFactory = 
        new SqlConnectionFactory("Server=MyDatabaseServer"); 

Lo que intenta hacer aquí se puede lograr fácilmente, proporcionando una cadena de conexión en su app.config que partidos el nombre de su DbContext - supongo que es PicturesCatalog

<connectionStrings>
   <add name="PicturesCatalog" connectionString="data source=.; 
        Initial Catalog=PicturesDatabase; Trusted_Connection=True;"
        providerName="System.Data.SqlClient" />
</connectionStrings>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top