3

매우 간단하게 EF Code First 예제를 실행하려고했지만 위의 문제가 발생했습니다. 나는 여기 조언 (How to configure ProviderManifestToken for EF Code First)을 따라 갔지만 아무 소용이 없다. 마침내 EF를 사용하여 데이터베이스와 테이블을 만들었습니다. 실제로 정의한 연결 문자열 이름 대신 DBContext에 실제 연결 문자열을 전달합니다. 여기EF 코드 우선 - 공급자가 ProviderManifestToken 문자열을 반환하지 않았습니다.

내가 이름 "ProductContext는"클래스 ProductContext 및 데이터베이스 제품이 존재하지 않는 일치의 app.config

<connectionStrings> 
    <add name="ProductContext" 
     connectionString="integrated security=SSPI; 
          data source=MYMACHINE; 
          persist security info=False; 
          initial catalog=Product" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 

에 처음 연결 문자열에 의해 정의 된 방법이다.

이전 스레드에 대한 조언에 따라 연결 문자열 이름을 ProductContext 및 기본 DBContext cstor로 전달했습니다. 이것도 작동하지 않았다.

마지막으로 위의 연결 문자열을 전달하고 모든 작업이 완료되면 db가 만들어지고 테이블이 만들어집니다.

SQL Server 2008 및 EF 4.1을 사용하고 있습니다. 내가 뭘 잘못하고 있는지에 대한 어떤 생각?

감사합니다,

업데이트

응용 프로그램은 WPF 응용 프로그램이 아닌 웹 응용 프로그램입니다.

"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)"

+0

실행중인 프로젝트의 * app.config *에있는 연결 문자열이 라이브러리 프로젝트에 있습니까? – Slauma

+0

라이브러리가 아닌 기본 프로젝트의 app.config에 있습니다. 그걸 어떻게 피할 수 있을까요? – Lance

+0

app.config를 라이브러리 프로젝트에 추가하려고 시도했지만 app.config라는 기본 프로젝트를 공유하려고 시도했지만 어느 방법도 작동하지 않았습니다. – Lance

답변

3

이 질문에 대답의 문제는 범인이 하나 이상의 문제가 될 수 있다는 것입니다 : 내가 의 app.config에서 ConnectionString을 제거 후 나는 같은 예외를 얻을. 말했다

, 나는 몇 가지 확인을 참조하십시오

  1. 귀하의 데이터 소스의 이름은 유효하지 않은 것으로 보인다. 호스트 이름과 인스턴스 이름을 선언해야합니다. 예 : . \ SQLEXPRESS (. 점에주의) 또는 MyServerHostName \ MySqlInstanceName.

    SQL Server Management Studio를 사용하여 유효한 데이터 원본을 가지고 있는지 먼저 확인하십시오.

  2. 허가. 통합 보안을 사용 중이므로 데이터베이스 연결을 만드는 응용 프로그램의 보안 컨텍스트에 적절한 권한이 있어야합니다. 확인할 사항 :

    SQL Server Mgmt Studio를 사용하여 데이터베이스에 연결하십시오. 왼쪽 창 (Object Explorer) -> Databases -> Select your db -> Security -> Users에서 데이터베이스를 선택하십시오. 앱 실행에 사용되는 계정에 명시 적으로 권한이 부여되었는지 또는 그룹의 구성원으로 권한을 상속받을 수 있는지 확인하십시오.리버스 엔지니어링 코드 첫째 - - 연결 속성 대화

When I had this error, my problem proved to be that I had mixed Integrated Security=SSPI with a "Username =" and "Password =" ...not realizing that I needed Integrated Security=false; my user and password parameters were being ignored.

Not sure about this one: I did read some people suggest (at least for troubleshooting) to set Persist Security Info=true.

3

내가 엔티티 프레임 워크에 '암호 저장'를 선택하면 문제가 해결되었다 EF6 VS 2013 에 비슷한 문제가 있었다. 희망이 사람을 도움이됩니다.

+0

이것이 해결책입니다. – mlqmarkos12

+0

weeeeeird,하지만 true – user1916015

관련 문제