A string de conexão 'MyConnection' no arquivo de configuração do aplicativo não contém o atributo providerName necessário. "

85

Eu uso Entity Framework Code First,

Minha string de conexão está em um arquivo de configuração:

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

Quando tento acessar os dados (algo que deve criar o BD) está caindo com o seguinte erro:

A string de conexão 'ApplicationServices' no arquivo de configuração do aplicativo não contém o atributo providerName necessário. "

o que estou perdendo?

Hodaya Shalom
fonte

Respostas:

183

Você está perdendo o seguinte trecho de código após o connectionStringatributo (supondo que você esteja usando SQL):

providerName="System.Data.SqlClient"

Corey Adler
fonte
18
Se estiver usando Entity Framework:providerName="System.Data.EntityClient"
Dr1Ku
3
Eu estava tentando adicionar isso à cadeia de conexão. Em vez disso, é um novo atributo para o elemento <add />. Um atributo irmão do atributo connectionString.
Sean B de
@ IronMan84 eu obtive um erro de conversão de tipo após usar SqlClient e EntityClient funcionou
Zia Ul Rehman Mughal
15

Algum tempo no futuro. o 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
fonte
1

Vá para baixo no seu web.config até chegar à providerstag. Por exemplo, aqui está minha declaração de fornecedores:

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

você deve adicionar isto System.Data.SqlClientcomo um nome de provedor em sua string de conexão para que sua string de conexão fique assim:

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

Ahmad Hamed
fonte
+1 para mencionar isso está no web.config, como alguém usando um produto com dezenas de arquivos de configuração diferentes
apoteet
0

No meu caso, o problema era com um destino de projeto de inicialização incorreto. No console PM, o projeto de montagem de migração de destino estava correto.

Tenho uma solução multiprojeto e o objetivo era algum projeto de serviço da web.

Então mudei o StartUp para o projeto WebSite principal e a migração foi concluída sem erros.

Kamerton
fonte