2013-07-13 3 views
0

저는 Entity Framework의 초보자이며 EF와 함께 작업 한 후 조직적인 문제에 봉착했습니다.엔터티 프레임 워크 구성 모델

전체 데이터베이스 (사용하려는 객체)를 하나의 모델에 매핑하거나 다른 모델 (클래스 요구에 따라 모델을 그룹화하는 객체)로 분할하는 것이 더 나은지 확실하지 않습니다.

쉬운 접근 방식과 같은 첫 번째 접근 방식의 사운드이지만 많은 수의 개체에 성능 문제가 있는지 또는 전체 데이터베이스 모델을 업데이트하는 데 오랜 시간이 걸릴지에 대해 의문이 생깁니다.

두 번째 방법을 사용하면 다른 모델에서 같은 개체를 사용하게되고 모델을 업데이트하는 데 어떤 영향을 미칩니 까?

+1

테이블이 수백 개가 아니라면 분할 할 필요가 없습니다. 데이터베이스의 데이터 양은 중요하지 않습니다. –

답변

1

하나의 모델 만 사용하고 다른 모델에서 다른 부품을 재사용하려는 경우 (예 : 별도의 모듈을 사용해야하는 경우) 별도의 모델을 사용해야 할 수도 있습니다. 또는 응용 프로그램). 그렇다면 아마 그 분리를 할 필요가 없을 것입니다.

EF를 사용하여 전체 데이터베이스의 대형 모델을 갖는 것은 실제적인 벌칙이 아닙니다. 프레임 워크는 런타임 전에 최적화 작업을 잘 수행합니다 (이 중 대부분은 "구성 런타임"에서 최적화됩니다). "트랜잭션 런타임"에서 데이터베이스의 테이블 수에 따라 성능 문제가 나타나지 않아야합니다.

그렇지 않으면 여러 모델에서 유지 관리해야하는 관계가 있고 여러 모델로 이동했기 때문에 기본적으로 혼란에 빠지게됩니다. 실제 데이터 모델이 별도의 물리적 스키마로 분할되고 유지 관리되는 트랜잭션 관계가없는 경우 여러 모델이 합리적 일 것입니다.

1

"모델"이 무슨 뜻인지 모르겠지만 EF에서는 클래스 정의에 스키마를 지정할 수 있으므로 스키마를 기반으로 테이블을 여러 그룹으로 그룹화 할 수 있습니다. 예를 들어 정적 데이터가있는 모든 룩업 테이블을 "조회"스키마로 그룹화하고 "테이블"의 다른 테이블을 그룹화 할 수 있습니다.

1

응용 프로그램의 고유 한 부분이 있으므로 다른 모든 테이블 (다른 모든 파트)과 관계가없는 일부 테이블 (이 단어는 더 좋은 단어가없는 경우 part)과 많은 관계가 있습니다. 당신은 많은 테이블을 가지고 있습니다 (부분별로 100 개 이상), 나는 복수형을 만드는 데 확실히 조언이 될 것입니다. contexts.

테이블이 많거나 모두 매우 밀접하게 관련되어 있다면 분명히 단일 컨텍스트로 유지할 수 있습니다.