2

그래서 ADO.NET 팀 블로그의 지침에 따라 작은 테스트 프로젝트를 만들려고했습니다. 모든 것을 두 번 확인했습니다. 그것은 작동하지 않는 것 같아서 연결 문자열이 없다고 계속 말합니다.Entity Framework DbContext app.config/web.config의 연결 문자열이 보이지 않습니다.

http://blogs.msdn.com/b/adonet/archive/2011/03/15/ef-4-1-model-amp-database-first-walkthrough.aspx

단계. 1 이 UserModels.dll을 빌드하십시오. dll, App.Config 파일에서 edmx는이 연결 문자열을 생성했습니다. (만들 때 'test'버튼을 누르면 성공적으로 연결되고 'UserDatabase'의 모든 테이블에 대한 edmx 다이어그램이 생성되었습니다.)

여기 -----------------

class UnitTetst1 .... 
TestMethod1().... 
using (var db = new UserModelsContainer()) { 
    int i = db.Users.Count(); // <---expecting '0' for a new db, but I get an exception 
} 

--------- 문제 :

2 단계 그럼 테스트 프로젝트를 만든

3 단계. 테스트를 실행하십시오. 그리고 나는이 같은 오류 InvalidOperationException이 얻을 :

"No connection string named 'UserModelsContainer' could be found in the application config file." 

이 곳의 app.config에서 connectionStrings를 데리러 모르는 DbContext 것 같다을 ??

프로그램을 실행할 때 ~~

+0

참고 : 이는 EF, 코드 우선, 데이터베이스 우선, 모델 우선의 * 모든 * 유형에 적용됩니다. 코드 첫 번째 문제를 도와주었습니다. – Rap

답변

7

도와주세요, 그것은 읽기 .exe 파일 실행되고의의 app.config입니다. .dll의 app.config는 사용되지 않습니다. UserModel.dll은 dll이므로 실행하는 어딘가에 .exe (또는 웹 사이트)가 있어야합니다. 해당 exe의 app.config (또는 web.config의 웹 사이트 인 경우)에 연결 문자열을 배치합니다.

+0

감사! 고쳤다. 내가 한 일은 테스트 프로젝트에서 새 항목 추가 ... -> App.Config -> 링크입니다. 이제 완벽하게 작동합니다. – Tom

+0

우리가 처음에는 얻지 못하는 것을 읽고 다시 읽는 것이 합리적입니다. 끝내 주셔서 고맙습니다, 웹 애플 리케이션 web.config에 연결 문자열을 추가 ... 그것을 고정 ... 절대 알지 못했습니다. – Deepak

5

"패키지 관리자 콘솔"에서 update-database 명령을 수행하려고 할 때이 문제가 발생했습니다. 내 웹 프로젝트를위한 별도의 내 코드 첫 번째 데이터 액세스 계층을위한 프로젝트와 다른, 등이 있었다

나는 다음과 같은 명령을 사용했다

: "업데이트 데이터베이스 -projectname MYPROJECTDANAME -CONNECTIONSTRINGNAME ConnectionString을 -Force"

을 그래서 그것은 MYPROJECTDANAME 프로젝트를 가리키고 있지만, 지정한 시작 프로젝트에서 connectionstring 이름이 필요합니다. 따라서 시작 프로젝트로 표시된 프로젝트에 필요한 연결 문자열이 있는지 확인하십시오.

관련 문제