2012-10-08 64 views
16

Tengo 3 proyectos de clase en mis soluciones. 1. proyecto MVC4 2. Dominio 3. Las pruebasCódigo Primera entidad cadena de conexión del marco

En el proyecto MVC4 He añadido un archivo web.config con la cadena como

<add name="EfDbContext" connectionString="Data Source=.;Initial Catalog=SportsStore;Integrated Security=true;" providerName="System.Data.SqlClient"/> 

I tener una clase por nombre Proyecto EfDbContext en Dominio que hereda DbContext.

Cuando veo el sitio web en el navegador, aparece el error de servidor no encontrado.

Depugé la clase EfDbContext y encontré que la Database.Connection.ConnectionString está establecida en \ SqlExpress con la base de datos como EfDbContext.

¿Por qué es eso?

Respuesta

1

Finalmente, me di cuenta de que agregué la entrada de conexión en el archivo web.config creado por VS en la carpeta Vistas.

Mi mal.

17

debe tener su cadena de conexión como espacio de nombre completo a su contexto cuando su clase de contexto es en un proyecto diferente

Por ejemplo:

 
<add name="YourClassProject.EfDbContext" connectionString="Data Source=.;Initial Catalog=SportsStore;Integrated Security=true;" providerName="System.Data.SqlClient"/> 
+0

He intentado esta opción pero no funciona –

+0

También tenga en cuenta que con EF6 si desea utilizar una base de datos compartida para múltiples contextos asegúrese de que su clase de contexto llame a base ("su nombre de contenido como se indica anteriormente en esta publicación") como ese será el nombre de la cadena de conexión también buscada. –

Cuestiones relacionadas