2012-01-09 5 views
1

데이터베이스가 있습니다. 데이터베이스에 연결되어 있고 데이터 모델 (.edmx 파일)이있는 Wcf Service 프로젝트가 있습니다. 이제 Asp.Net MVC 응용 프로그램을 추가해야합니다.Asp.Net MVC 및 기존 데이터베이스

내가 읽고있는 자습서에서는 connectionString 만 추가해야한다고 말합니다. 그러나 그것은 제가 모델 클래스를 필요로하지 않는다는 것을 의미합니까? 아니면 모델 클래스를 만들어야합니까? 또한 .edmx 파일의 클래스는 클래스의 DbContext에서 확장되지 않습니다.

예를 들어 DbContext에서 확장되지 않는 내 데이터베이스에 Something이라는 테이블이 있습니다. SomethingTemplate이라는 모델을 Something의 모든 속성과 함께 추가하고 DbContext에서 확장하도록 설정합니까?

+1

Entity Framework ** 코드를 먼저 사용하려고하십니까 ** (언급 한 'DbContext'가 그만큼 나타납니다) ?? 그렇다면 언급하십시오! 또한 : 그에 따라 태그를 붙이십시오 ('[ef-code-first]'를 사용하십시오!) 아니면 EDMX 모델을 데이터베이스의 테이블로 채우고 있습니까?하지만 EDMX (데이터베이스 또는 모델 우선 접근법)가있는 이유는 무엇입니까? 'DbContext' (코드 우선)로 작업하십시오 .... 이해가되지 않습니다 ... –

+0

@marc_s 예 데이터베이스의 테이블로 edmx를 채 웁니다. 자습서 모두 DbContext로 작업하고 있는데, DbContext를 사용하지 않으면 모델 클래스를 추가해야합니까? –

+0

@marc_s 그래도 모델 파일에 어떤 클래스를 넣을까요? –

답변

2

제대로 설계된 ASP.NET MVC 응용 프로그램에서 데이터 액세스 계층은 추상화됩니다. 즉, 일반 ADO.NET, EF, NHibernate 또는 원격 WCF 서비스 호출을 사용하든 상관없이 실제로는 문제가되지 않습니다.

EF를 사용하려는 경우 WCF의 경우이 프로젝트 내부에 데이터 컨텍스트와 엔터티를 정의하게됩니다. 연결 문자열은 WCF 프로젝트 내부에도 있습니다.

ASP.NET MVC 응용 프로그램에서이 메서드를 호출 할 수 있도록 클라이언트 측 프록시를 만드는이 WCF 서비스에 서비스 참조를 추가하기 만하면됩니다. 엔티티도 가져 오지만 ASP.NET MVC 관점에서는 POCO가됩니다.

+0

하지만 모델 클래스는 필요 없습니다. 맞습니까? –

+0

@Srcee, 귀하의 ASP.NET MVC 응용 프로그램 도메인 모델 클래스는 속한 클래스가 될 것입니다 서비스 참조 추가를 사용하여 WCF qservice를 가져 왔을 때 적용됩니다. 물론 뷰 모델이 필요 하겠지만, WCF 사용 여부와 관계없이 항상 ASP.NET MVC에서 뷰 모델이 필요합니다. –

+0

그리고 모델 클래스에 무엇을 넣을까요? 만약 내가 edmx 파일에 뭔가가 있다면, 클래스도 있어야하나요? –

관련 문제