2017-11-20 7 views
0

온라인 documentation 우리가 현재 '단일 배포 여러 데이터베이스'접근 방식을 선호하는 우리의 사용 사례에서 '데이터베이스 & 배포 아키텍처'데이터베이스 및 배포 아키텍처

에 대한 섹션 (각 임차인이 자신의 데이터베이스의이)가 있습니다. 세입자 사이의 모델에 약간의 차이가있을 있다면, 무슨 일이 취할 수있는 최선의 선택이 될 것이다, 앞으로

:

내 질문은 이것이다?

나는 단일 호스트 접근법을 포기하고 별도의 호스트/임차인을 설정할 수도 있다고 생각합니다.

합리적인 진술/접근 방식처럼 들리니?

또 다른 옵션은 충돌을 해결하기 위해 Abp 모듈 방식을 사용할 수 있습니다. 모델에서 차이의 정도에 따라

+0

댓글에 세부 정보를 추가하는 대신 질문을 수정하십시오. 모델 **에서 발산의 예를 보여줄 수 있습니까? – aaron

+0

모델의 차이점은 본질적으로 엔티티 속성/해당 db 구조의 차이를 의미합니다. 그래서 우리가 보건 의료 분야를위한 소프트웨어를 작성한다면, 로그인 한 임차인에 따라 환자 또는 의사 기관에 차이가있을 수 있습니다. – user703163

답변

0

, 분명히 등 더 테이블/의미 항상 의미

건배를 만들 수 없습니다, 당신은 IExtendableObject Interface을 고려할 수 있습니다.

var person = new Person("John"); 

// Set 
person.SetData("CustomData", new MyCustomObject { Value1 = 42, Value2 = "forty-two" }); 

// Get 
var customData = person.GetData<MyCustomObject>("CustomData"); 

서로 다른 견해를해야하는 경우

, 당신은 조건부 당신의 행동에 View("Index_Tenant1")를 호출 할 수 있습니다. 분기 명시 적 유형의 안전, 데이터베이스 열 검색 또는 외래 키 참조를 필요로하는 경우

여러 배포 방법

, 다음 여러 배포 합리적인 방법이 될 것입니다. 포크를 업데이트하는 것은 자체적 인 어려움이 있지만, 이는 귀하의 DbContext을 깨끗하게 유지하고 마이그레이션을 독립적으로 수행하며 요구 사항을 충족시킵니다.

하위 도메인 라우팅을 구성하는 것이 까다로울 수 있습니다. 다른 도메인을 갖고 있어도 괜찮습니다.

그래도 단일 호스트 데이터베이스을 사용할 수는 있지만 연결 문자열을 지정하여 구성 할 수 있습니다. 이를 통해 하나의 응용 프로그램에서 버전 및 features과 같은 항목을 관리 할 수 ​​있습니다.