2012-09-14 2 views
1

약 100 개의 테이블이있는 데이터베이스 (SQL Server 2008)가 있으면 50 개의 저장 프로 시저 e.t.c - 실제로 검증 된 디자인을 가지고 있습니다. 그리고 이미 여러 응용 프로그램에서 사용하는 매우 편리한 모델을 가지고 있다고 가정 해 봅니다 - 데이터베이스 구조를 반영하는 클래스 세트입니다. 나는. 나는 데이터베이스를 가지고 있으며 모델을 만들고 싶지 않고 모델을 가지고 있으며 데이터베이스를 만들고 싶지 않지만 EF 5.0을 사용하는 데 여전히 열중합니다. 여기에 내 질문이있다. 기존 데이터베이스를 재 작성하지 않고 기존 모델에 매핑 할 수있는 방법이 있습니까? 유일한 방법은 CodeFirst 접근법을 사용하고 FluentApi를 통해 모든 DbSets를 만들고 동시에 데이터베이스 초기화 프로그램을 null로 설정하는 것입니다. 이 올바른지?기존 데이터베이스에 기존 데이터베이스 매핑

답변

2

예. 올바른 방법입니다. 그러나 데이터베이스 모델이 EF 기본값 naming conventions (예 : 열 이름, 관계)에 따라 빌드되었는지 확인해야합니다.
FluentAPI 또는 모델의 특성을 사용하여 DbContext 클래스의 '관례가없는'모델 엔터티마다 매핑을 재정의해야합니다.
EF 5를 사용해 본적이 없지만 pluggable conventions을 지원해야합니다. 따라서 EF에서 컨벤션을 기본적으로 인식하지 못하는 경우 을 사용해보십시오.
또한 게으른 로딩을 사용하려면 관련 속성이 모델에서 가상인지 확인해야 할 수 있습니다.

1

나는 두 가지 전략을 생각할 수 있습니다

  1. 이 엔티티와 통신을 모델을 가지고 데이터베이스와 사용 구성 또는 중간 클래스에서 엔티티를 생성합니다.
  2. Use your model as POCO classes. 당신은 당신의 모델을 적응시켜야하며,이를위한 전제 조건을 준수해야한다.

많은 저장 프로 시저를 사용하기 때문에 데이터베이스의 첫 번째 방법은 최상의 IMHO입니다. 그 (것)들을 어떻게에 관하여 만드는지 대략 here보십시오.

관련 문제