나는 많은 양의 검색을 해왔지만, 내가 찾은 대부분은 같은 스키마를 가진 테이블을 병합하는 것과 관련이있다.이 질문이 너무 개방적이라면 알려주고, 더 자세한 내용을 제공합니다.두 개의 데이터베이스 응용 프로그램 병합. 내가 어느 수준에서 일해야합니까?
나는 두 개의 독립적 인 애플리케이션 같은 일반적인 구조에 내장 된 각이 있습니다
- 하는 ASP.NET MVC 응용 프로그램;
- NHibernate에 빌드 된 개체 모델.
- 저장소 기반 DAL;
- MSSQL 데이터베이스입니다.
데이터베이스 스키마와 개체 모델은 다르지만 일부 비즈니스 수준의 겹침이 있습니다. 예를 들어 두 응용 프로그램 모두 Customer 객체가 있지만 구조가 다릅니다. 하나에는 존재하지만 다른 하나에는 존재하지 않는 몇 가지 데이터 필드가 있으며 기본 키는 다르게 수행됩니다 (하나는 자동 증가 숫자 필드를, 다른 하나는 GUID). 고객과 같이 각 응용 프로그램마다 고유 한 구현을 갖는 테이블이나 클래스가 10 개 정도있을 수 있습니다.
두 응용 프로그램을 결합하는 중입니다. 최종 목표는 응용 프로그램 1이 응용 프로그램 2 내의 영역이되도록하는 것이며 두 응용 프로그램 모두 동일한 고객 집합을 사용하는 응용 프로그램을 사용하는 것입니다.
제 질문은 10 가지 정도의 "공유"데이터를 처리하는 가장 좋은 방법입니다. 사물?
데이터베이스/개체 모델 수준에서 결합 하시겠습니까? 각 데이터베이스의 Customer 테이블을 단일 테이블로 병합하고, 객체 모델 클래스를 결합하고, 필요한 경우 뷰 모델로 작업 할 수 있습니다.
두 세트의 개체를 관리하고 동기화하려고합니까? 데이터베이스의 트리거를 통해 또는 DAL의 두 테이블 세트에 모두 쓰는 것입니다.
다른 것?
이것은 (나를 위해) 상당히 큰 프로젝트이며 수백 개의 테이블과 많은 컨트롤러 메소드 및 뷰가 있습니다. 단위 테스트가 없으며 이에 대한 문서가 없으므로 조금 어렵습니다. 나는 첫 번째 옵션으로 기대고 있지만, 내가하는 일이 깨지는 것 같아. 제안?
미리 감사드립니다.