Ciąg połączenia „MyConnection” w pliku konfiguracyjnym aplikacji nie zawiera wymaganego atrybutu providerName. "

85

Używam Entity Framework Code First,

Moje parametry połączenia znajdują się w pliku konfiguracyjnym:

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

Kiedy próbuję uzyskać dostęp do danych (coś, co powinno utworzyć bazę danych), pojawia się następujący błąd:

Ciąg połączenia „ApplicationServices” w pliku konfiguracyjnym aplikacji nie zawiera wymaganego atrybutu providerName. "

czego mi brakuje?

Hodaya Shalom
źródło

Odpowiedzi:

182

Brakuje następującego fragmentu kodu po connectionStringatrybucie (zakładając, że używasz języka SQL):

providerName="System.Data.SqlClient"

Corey Adler
źródło
18
Jeśli używasz Entity Framework:providerName="System.Data.EntityClient"
Dr1Ku
3
Próbowałem to dodać do parametrów połączenia. Jest to raczej nowy atrybut elementu <add />. Atrybut równorzędny do atrybutu connectionString.
Sean B
@ IronMan84 Otrzymałem błąd rzutowania typu po użyciu SqlClient i EntityClient działał
Zia Ul Rehman Mughal
15

Kiedyś w przyszłości. cały kod

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

Zejdź na dół do swojego web.config, aż dotrzesz do providerstagu. Na przykład, oto oświadczenie moich dostawców:

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

powinieneś dodać to System.Data.SqlClientjako nazwę dostawcy w ciągu połączenia, aby parametry połączenia wyglądały następująco:

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

Ahmad Hamed
źródło
0

W moim przypadku problem dotyczył nieprawidłowego celu projektu StartUp. W konsoli PM projekt montażu docelowego migracji był poprawny.

Mam rozwiązanie obejmujące wiele projektów, a cel znajdował się w jakimś projekcie usługi sieciowej.

Więc zmieniłem StartUp na główny projekt WebSite i migracja zakończyła się bez błędów.

Kamerton
źródło