시나리오 :여러 DataContexts
내가 로컬 네트워크 설정을 통해 실행하는 데스크톱 응용 프로그램을 수행하는 임무를하고있는 데이터베이스 및 백 오피스 부분이 존재해야한다는 등 POS 클라이언트가 서버에 대한 호출을 작성하는 동안 서버에서 작동합니다.
데이터베이스에 8 개의 스키마가있는 64 개의 테이블이 있으며, 한 스키마의 테이블은 다른 스키마 테이블간에 관계가 있습니다.
스키마
- 계정 (계정의 차트, 거래, 저널, 은행/현금/예금 바우처)
- 인적 자원 (부서 & 종업원)
- 구매 (PO, PO 세부 사항, 구입은 &를 돌려줍니다 세부 사항)
- 판매 (판매, 판매 세부, 판매 반환 & 세부 사항, 고객)
- 재고 (생산 t, 재고, 비용의 변화에 대한 역사, 가격, 재고 전송)
- 세금 (세금 그룹, WHT 세금 등 GST)
- 보안 (사용자, 권한 및 세션의 로깅)
- 스토어 (스토어 프로필, 터미널, 절, 랙, 선반, 빈)
참고 : 네트워크에서 실행하는 그런 큰 데이터베이스에 대한 하나의 DataContext를 사용하는 우려가있다, 그 모델을 통해 그 탐색이 악화 것 응용 프로그램의 성능. 따라서 우리는 데이터 컨텍스트를 분류해야합니다. 직관적 인 전략은 데이터베이스의 각 스키마에 대해 하나의 DataContext (이 경우 8)를 만들고 서비스 계층을 통해 다른 컨텍스트와 데이터를 교환하는 것입니다. 내 디자인은 DDD를 기반으로합니다.
질문 : 주어진 시나리오에 대해 DataContext를 분류하는 적절한 전략은 무엇이라고 생각합니까? 이 문제에 대한 경험 많은 통찰력을 배우고 싶습니다.
추신. .NET Framework 4.0에서 Entity Framework 5.0을 클라이언트로 사용해야합니다.
성능이 문제가 될 것이라고 생각하지 않지만 아키텍처 및 유지 관리상의 이유로 문맥을 무너 뜨릴 것입니다. 당신이 제안하는대로 디자인 부분마다 하나의 컨텍스트가 나와 적절한 접근 방법 인 것 같습니다. – Patrick