2013-06-20 3 views
4

우선, 많은 질문을 발견하고 여러 가지 대답을 내 이슈와 관련되거나 인식하는 경우는 없지만 나에게 맞는 방법은 없습니다.엔티티 프레임 워크 데이터 공급자를 찾을 수 없습니다. 엔티티 클라이언트

SQL Server 2008 R2를 새로 설치하면 완전히 새로운 템플릿 기반 MVC4 웹 사이트를 구축 할 수 있습니다. 데이터베이스에서 aspnet_regsql을 실행하고 모든 테이블을 만들었습니다. web.config에서 connectionstring을 생성 한 .edmx 모델을 만들었습니다. I가 시각적 스튜디오 웹 호스트에서 로컬 웹 사이트를 실행하거나 어떠했는지

<connectionStrings> 
    <add name="TestEntities" connectionString="metadata=res://*/Models.Test.csdl|res://*/Models.Test.ssdl|res://*/Models.Test.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=WEBSRV\SQLEXPRESS;initial catalog=Test;persist security info=True;user id=Test;password=Test#1337;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
</connectionStrings> 

웹 사이트를 구축하는 것은 나에게 오류를 반환은 Unable to find the requested .Net Framework Data Provider. It may not be installed.

내이 Machine.config에는 자기 폐쇄 <DbProviderFactories/>이 없습니다 같은 문제가 발생합니다 내 웹 서버의 IIS. NuGet 패키지를 설치하지 않았습니다.

왜이 오류가 발생합니까?

답변

8

오른쪽으로, 나는 문제를 알아 냈다.

edmx 연결 이외의 다른 연결 문자열은 사용할 수 없습니다. 내 web.config에있는 방법으로 웹 사이트가 System.Data.EntityClient 공급자와 호환되지 않고 내 케이스에서 System.Data.Sqlclient를 필요로하는 멤버십 항목에도 동일한 연결 문자열을 사용합니다. 두 번째 connectionstring을 추가하고 Entity Framework 항목을 빼고 web.config의 멤버 자격 공급자 속성에서 참조하는 속성을 사용하면 모든 오류가 제거되고 페이지에서 SQL Server의 항목을 렌더링하고 요청할 수 있습니다.

악몽이 끝나면 내 웹 사이트에서 다시 작동 할 수 있습니다. o/

+1

you'are 권리를 추가로 연결이 간단 회원 –

+2

필요가 일부 (예) 코드를 게시 할 수 있습니까? – Odrai

+1

업데이트 된 connectionString을 표시 할 수 있습니까? – deathrace

3

잘못된 연결 문자열 유형입니다. 이는 모델 우선 (EDMX) 유형 연결 용입니다. 코드 첫 번째 연결 문자열이 필요합니다. 같은 표준 연결 문자열을 사용하십시오 :

<connectionStrings> 
    <add name="MyDbContext" providerName="System.Data.SqlClient" connectionString="Data Source=(local);Initial Catalog=your_database;Integrated Security=True;Application Name=your_app_name" /> 
</connectionStrings> 
+1

대단히 감사합니다! 이 대답은 내 커스텀 MembershipProvider가 MVC 4'WebSecurity'/인증의 컨텍스트에서 작동하지 않는 이유를 알아 내려고 할 때 실제로 큰 도움이되었습니다. – alex