응용 프로그램 구성 파일의 연결 문자열 'MyConnection'에 필수 providerName 특성이 없습니다. "


85

나는 Entity Framework Code First,

내 연결 문자열은 구성 파일에 있습니다.

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

데이터 (DB를 생성해야하는 것)에 액세스하려고하면 다음 오류가 발생합니다.

응용 프로그램 구성 파일의 연결 문자열 'ApplicationServices'에 필수 providerName 특성이 없습니다. "

내가 무엇을 놓치고 있습니까?

답변:


182

connectionString속성 뒤에 다음 코드가 누락되었습니다 (SQL을 사용한다고 가정).

providerName="System.Data.SqlClient"


18
Entity Framework를 사용하는 경우 :providerName="System.Data.EntityClient"
Dr1Ku 2013 년

3
나는 이것을 연결 문자열에 추가하려고했습니다. 오히려 <add /> 요소에 대한 새로운 속성입니다. connectionString 속성에 대한 형제 속성입니다.
Sean B

IronMan84 @ 내가 타입 캐스트 오류가 발생했습니다 사용 후하는 SqlClient 및 EntityClient을 일했다
지아 UL 레흐만 무굴

15

언젠가. 완전한 코드

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

0

providers태그에 도달 할 때까지 web.config에서 아래로 이동하십시오 . 예를 들어, 다음은 내 공급자 진술입니다.

<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

제 경우에는 잘못된 시작 프로젝트 대상에 문제가있었습니다. PM 콘솔에서 대상 마이그레이션 어셈블리 프로젝트가 정확했습니다.

다중 프로젝트 솔루션이 있고 대상은 웹 서비스 프로젝트에 있습니다.

그래서 StartUp을 메인 WebSite 프로젝트로 변경했고 마이그레이션이 오류없이 완료되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.