Рядок підключення "MyConnection" у файлі конфігурації програми не містить необхідного атрибута providerName. "


85

Я використовую Entity Framework Code First,

Мій рядок підключення знаходиться у файлі конфігурації:

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

Коли я намагаюся отримати доступ до даних (щось, що повинно створити БД), падає з такою помилкою:

Рядок підключення 'ApplicationServices' у файлі конфігурації програми не містить необхідного атрибута providerName. "

Чого мені не вистачає?

Відповіді:


182

Вам не вистачає наступного фрагмента коду після connectionStringатрибута (припускаючи, що ви використовуєте SQL):

providerName="System.Data.SqlClient"


18
Якщо використовується Entity Framework:providerName="System.Data.EntityClient"
Dr1Ku

3
Я намагався додати це до рядка з'єднання. Швидше це новий атрибут елемента <add />. Атрибут побратима до атрибута connectionString.
Шон Б,

@ IronMan84 я отримав помилку приведення типу після використання SqlClient і EntityClient працював
Zia Ul Rehman Mughal

15

Десь у майбутньому. повний код

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

0

Опустіться у своєму web.config, поки не дійдете до providersтегу. Наприклад, ось моє твердження про постачальників:

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

ви повинні додати це System.Data.SqlClientяк ім'я постачальника у рядок підключення, щоб рядок підключення виглядав так:

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


0

У моєму випадку проблема полягала в неправильній цілі проекту StartUp. У консолі PM цільовий проект збірки міграції був правильним.

У мене є рішення для декількох проектів, і ціль була на якомусь проекті веб-сервісу.

Тож я змінив StartUp на основний проект WebSite, і міграція завершилась без помилок.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.