2012-07-10 3 views
0

녀석 나는 asp에 새로운 꿀벌이다 .net mvc 3.DataContext 클래스가 새 데이터베이스를 만드는 이유는 무엇입니까?

비주얼 웹 개발자 익스프레스 2010에서는 Visual C#/Web/ASP를 사용하여 새 프로젝트를 만들었다. .net MVC 3 웹 응용 프로그램을 폼 인증을 사용하여 만들었다. 주형. 나는 모든 컨트롤러와 뷰 파일을 삭제하고 내 자신을 추가했습니다. App_Data 폴더에 새로운 sample.mdf 데이터베이스를 추가하고 그에 따라 연결 문자열을 변경하고 국가 모델을 만들었습니다.

그러나 국가 모델 용 CRUD 컨트롤러를 만들면 DataContext 클래스를 묻습니다. 비어있는 것을 허용하지 않으며 클래스 DataContext을 언급해야합니다. DataContext 클래스를 만들면 DataContext 클래스와 같은 이름의 새 데이터베이스가 만들어집니다. web.config 파일에 지정된 데이터베이스는 사용하지 않습니다.

국가 모델 데이터를 sample.mdf 파일에 추가하고 컨텍스트 데이터베이스에는 추가하지 않겠습니다.

제발 ... 감사합니다.

답변

0

컨텍스트 생성자에서 사용할 연결 문자열을 전달할 수 있습니다. 그렇게하면 원하는 데이터베이스를 사용할 수 있습니다.

0

데이터 컨텍스트 클래스는 모델 클래스를 데이터베이스의 테이블에 매핑하는 클래스 일뿐입니다. 연결 문자열 이름을 config (설정) 웹에서 사용자의 컨텍스트 클래스와 동일해야합니다 (datacontext.cs) :

<add name="datacontext" connectionString="[connectionstringhere]" /> 

연결 문자열은 실행하면 ... 존재하지 않는 SQL CE 데이터베이스 가리키는 경우 응용 프로그램에서 EF는 데이터베이스가 존재하지 않음을 감지하고 데이터 컨텍스트 클래스에 설정된 모델로부터 자동으로 데이터베이스를 만듭니다.

관련 문제