3

잘못된 작업을하고있는 경우를 대비하여 비디오를 업로드하여 모든 단계를 볼 수 있습니다! 이 오류를 재현 할 수 있습니다.Visual Studio에서 마운팅/연결 한 후 Entity Framework 오류가 발생했습니다.

Video Link

기본적으로 - 새로운 MVC 3 프로젝트를 시작하고 간단한 클래스의 일반적인 방법으로 EF를 사용하여. 확인 작업이 예상대로

<add name="databaseconnection" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|database.mdf;User Instance=true;Initial Catalog=database" providerName="System.Data.SqlClient" /> 

I 사이트로 이동 모든 :

나는 다음과 같은 연결 문자열을 사용했다.

이제 .mdf 데이터베이스를 두 번 클릭하여 Visual Studio 내부에서 열려고하면 모든 지옥이 느슨해집니다!

연결할 때 예상대로 테이블을 볼 수 있지만, 나는 아무것도하지 않고, 심지어 경우 (그리고/또는) 나는 다음과 같은 오류 얻을, 응용 프로그램으로 이동, 다음 번에 연결을 삭제 단지 가까이 :

One or more files do not match the primary file of the database. If you are attempting to attach a database, retry the operation with the correct files. If this is an existing database, the file may be corrupted and should be restored from a backup. Cannot open database "database" requested by the login. The login failed. Login failed for user 'WIL2-8EEA651803\Administrator'. Log file 'c:\documents and settings\administrator\my documents\visual studio 2010\Projects\TestingEF\TestingEF\App_Data\database.ldf' does not match the primary file. It may be from a different database or the log may have been rebuilt previously.

아무리 노력해도 다시 연결할 수 없습니다. 내가 할 수있는 유일한 방법은 데이터베이스와 초기 카탈로그의 이름을 바꾸는 것입니다. MVC Movie Database Tutorial의 이전 버전 (Compact Framework 사용으로 업데이트하기 전에)이 이와 같이 잘 작동 했으므로 이러한 문제가 발생하는 이유는 확실하지 않습니다.

그래서 내 질문은 무엇이 원인이고 무엇을해야합니까?

다음은 비디오의 오류 번호 1입니다.이 비디오는 테스트 용으로 사용하는 빠른 XP VM이며 무작위로 발생하지만 이번에는 발생하지 않았으며 주 컴퓨터에서는 발생하지 않았습니다. 하지만 귀찮은 일은 아닙니다. 컨트롤러를 만들려고 할 때 다음과 같은 오류가 발생합니다 :

"Unable to retrieve metadata for 'TestingEF.Models.blabla'. The provider did not return a ProviderManifestToken string." 

어떤 생각입니까?

+1

"AttachDbFileName ="기능을 사용하지 마십시오. 데이터베이스 파일 (데이터베이스 서버 (아마도 로컬 SQL Server Express))에 데이터베이스 파일을 첨부하고 거기에 연결하십시오. 이 DB 파일을 첨부하는 것은 이상하고 지저분 해 많은 문제를 야기합니다 .... (특히'User Instance = true' 설정과 조합하여) –

+1

@marc_s - 이제 SQL Server CE를 사용하고 있습니다. 연결 문자열을 MVC 예제에서와 같이 데이터 소스와 함께 사용하면 예상대로 작동합니다 ... 응용 프로그램이 완전히 작동하고 데이터베이스를 동시에 편집 할 수 있습니다. ASP.Net 회원 DB 및 다른 프로젝트는 다른 연결 문자열로 잘 작동하는 것 ... EF가 변경되어서 이제는 엉망으로 만들지 모르겠지만 어쨌든, 감사합니다 ... 다른 대답과이 의견은 문제에 대해 더 많은 통찰력을 제공합니다. – Wil

답변

0

나는이 문제를 해결하기 위해 데이터베이스를 완전히 삭제해야한다는 두 번째 문제점을 알고 있습니다. 모델과 메타 데이터가 동기화되지 않는 모델의 데이터베이스와 관련이 있다고 생각합니다.

+0

또한 구성 파일의 연결 문자열이 올바른지 확인하십시오. 데이터베이스에 연결할 수 없기 때문일 수 있습니다. – DDiVita

관련 문제