2012-04-01 3 views
1

MVC에서 Entity Framework (4.1)를 처음 사용하려고 시도했을 때 꽤 이상한 문제가 발생했습니다. SQL Server에서 데이터베이스를 만들려고 Database-First 패턴을 사용해보고 싶었습니다. 내 EF 모델을 가져 와서 템플릿을 추가하고 CRUD 기능으로 내 컨트롤러를 생성했습니다. 거기까지 모든 것이 잘됩니다.Entity Framework를 사용한 데이터 지속성

그러나 내 문제는 데이터 저장소입니다. 오류없이 생성 된 양식에서 데이터를 저장할 수 있지만 SQL 데이터베이스에 레코드가 저장되지 않습니다. 내 데이터는 어딘가에 저장해야합니다 (심지어 PC를 재부팅하려고 시도해도 여전히 지속성이 있습니다). 또한 Web.Config "Entities"연결 문자열에서 내 SQL Server 계정의 암호를 변경했지만 데이터는 계속 사용할 수 있습니다. 반면에

, 나는 SQL 서버 관리자를 통해 다른 테이블을 작성,하지만 난

는 캐시, 또는 나의 실체가 될 수있는 일이 있나요 ... 해당 엔티티의 데이터를 retreive 드릴 수 없습니다 DB의 다른 인스턴스에 맵핑되었거나 설명 할 수있는 것이 있습니까?

도움을 주셔서 감사합니다.

+0

그런데 스택 오버플로에 오신 것을 환영합니다. 사용자가 처음으로 좋은 질문을하는 경우는 흔하지 않습니다. 당신은 분명히 무엇이 잘못되었는지 알아 내고 그것을 정말 잘 설명하려고 노력했습니다. –

+0

어 ... 아 .. 미안 ... 안녕 모두들! 나는 그 망할 연결에 조금 화가났다. 나의 사과 ;-) – Colin

답변

1

기본적으로 Entity Framework는 로컬 SqlExpress 서버에 데이터베이스를 만듭니다. 예상 한 연결 문자열을 찾지 못하면 오류가 발생하지 않고 자체 연결 문자열을 구성합니다. SQL 서버 관리자를 ". \ sqlexpress"서버에 연결해보십시오. 데이터베이스를 찾을 수 있습니다.

EF 4.3 및 EF 마이그레이션을 사용하여 연결 문자열을 찾을 수없는 경우 자동 생성을 방지하는 custom initializer을 작성했습니다.

+0

그게 다, 고마워! 그것은 SQL Express에서 내 컨텍스트 클래스 이름으로 중복 데이터베이스를 만들었습니다. 내 주말을 구 했잖아! – Colin

0

데이터를 다른 데이터베이스에 저장하고있는 것 같습니다. 아마도 sdf/mdf 파일이 App_Code 폴더에 있습니까?

+0

네, 정확히 ... 앤더스 아벨이 지적한대로 SQL Express 로컬 DB에 저장됩니다. 고맙습니다! – Colin

관련 문제