2011-05-07 2 views
3

새로운 EF 프로젝트에서 (거의) 모든 것을 수정했지만 EF 컨텍스트 클래스에서 명명 된 연결 문자열을 사용하는 것을 잊어 버렸습니다. 그래서 기본값을 사용했습니다.Entity Framework에서 기본 Intital 카탈로그를 사용하며 가정이 가정합니까?

SQL Express 기본 데이터 디렉토리에 새 데이터베이스가 만들어져 완벽하게 작동했습니다.

나는 (어떤 파일이 app_data 폴더에 표시되지 않은 이유를 연령대 궁금 후) 내 실수를 깨달았

, 나는 명명 된 연결 문자열을 사용하는 클래스의 이름을 변경 한 후 나는 다음과 같은 오류가 점점 계속 :

Unable to complete operation. The supplied SqlConnection does not specify an initial catalog.

이 문제를 해결하는 방법을 알고 있지만 EF는 나에게 마법과 같습니다! 나는 그것이 효과가 있다는 것을 믿을 수 없다. 나는 기본적으로 사용하는 것에 대해 궁금하다./아무것도 지정하지 않으면 EF가 당신을 대신하여 사용하는 "가정"의 목록이있다.

답변

4

기본적으로 컨텍스트와 이름이 같은 데이터베이스를 사용하지만 사용자 지정 연결 문자열을 지정하면 Initial Catalog 또는 Database 매개 변수 중 하나를 사용 데이터베이스 이름으로 지정해야합니다.

4

나는 동일한 문제가 있었지만 web.conf을 변경하여 알아 냈습니다. 초기 카탈로그 및 통합 보안을 지정하고 사용자 인스턴스를 만들어야합니다.

add name="MovieDBContext" 
    connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|Movies.mdf;Initial Catalog=Movies;Integrated Security=SSPI;User Instance=true" 
    providerName="System.Data.SqlClient" 
+1

가 내 학습 ASP.NET MVC 4 프로젝트에 도움이 : 여기

는 web.conf을 노력하고 있습니다. 고마워. – Kings

관련 문제