Строка подключения 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 работал
Зия Уль Рехман Могол
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, и миграция прошла без ошибок.

Камертон
источник