La cadena de conexión 'MyConnection' en el archivo de configuración de la aplicación no contiene el atributo providerName requerido ".

85

Yo uso Entity Framework Code First,

Mi cadena de conexión está en un archivo de configuración:

<connectionStrings>
    <clear/>
    <add name="ApplicationServices" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>

Cuando intento acceder a los datos (algo que debería crear la base de datos), aparece el siguiente error:

La cadena de conexión 'ApplicationServices' en el archivo de configuración de la aplicación no contiene el atributo providerName requerido ".

¿Qué me estoy perdiendo?

Hodaya Shalom
fuente

Respuestas:

182

Falta el siguiente fragmento de código después del connectionStringatributo (asumiendo que está usando SQL):

providerName="System.Data.SqlClient"

Corey Adler
fuente
18
Si usa Entity Framework:providerName="System.Data.EntityClient"
Dr1Ku
3
Estaba intentando agregar esto a la cadena de conexión. Más bien es un nuevo atributo para el elemento <add />. Un atributo hermano del atributo connectionString.
Sean B
@ IronMan84 obtuve un error de conversión de tipo después de usar SqlClient y EntityClient funcionó
Zia Ul Rehman Mughal
15

Algún día en el futuro. el código completo

<add name="YouContext" connectionString="Integrated Security=True;Persist Security Info=False;Initial Catalog=YourDatabaseName;Data Source=YourPCName;" providerName="System.Data.SqlClient"/>
Krishneil
fuente
0

Baja en tu web.config hasta llegar a la providersetiqueta. Por ejemplo, aquí está la declaración de mi proveedor:

<providers><provider invariantName="System.Data.SqlClient" ... /></providers>

debe agregar esto System.Data.SqlClientcomo un nombre de proveedor en su cadena de conexión para que su cadena de conexión se vea así:

  <connectionStrings>
 <add name="ApplicationServices" providerName="System.Data.SqlClient" connectionString="Data Source=PC-X;Initial Catalog=MYdb;Integrated Security=True"/>
  </connectionStrings>

Ahmad Hamed
fuente
0

En mi caso, el problema fue con un objetivo de proyecto de inicio incorrecto. En la consola de PM, el proyecto de ensamblado de migración de destino era correcto.

Tengo una solución multiproyecto y el objetivo estaba en algún proyecto de servicio web.

Así que cambié el StartUp al proyecto principal de WebSite y la migración se completó sin errores.

Kamerton
fuente