2011-01-19 5 views
0

멀티 테넌트 (multi-tenant) 인 mvc 3 응용 프로그램을 구축합니다. 즉, 동일한 기본 데이터 구조를 사용하지만 액세스에 사용되는 도메인 이름에 따라 다른 데이터를 제공합니다.멀티 테넌트 응용 프로그램 용 드롭 다운 목록 채우기

내가 해결하려고하는 문제는 이것입니다. 렌더링되는 사이트를 기반으로하는 선택 항목으로 여러 개의 드롭 다운 목록을 채우는 가장 좋은 방법은 무엇입니까? 다른 주름을 추가하려면 문자열을 지역화해야합니다.

명백한 선택은 웹 사이트 ID 및 언어 ID, 필드 ID 및 문자열 값에 대한 열이있는 테이블을 만드는 것입니다. 이것은 괜찮은 것처럼 보이지만 이미 현지화를 위해 가능한 메커니즘을 무시하는 것 같습니다. 나는 바퀴를 여기에서 재현하고있는 것처럼 느낀다.

예를 들어, 사이트 1에는 즐겨 찾는 활동의 드롭 다운 목록이 있고 음악 관련 관심사를 대상으로하는 범위 항목이있을 수 있습니다. 사이트 2는 동일한 드롭 다운을 가질 수 있지만 스포츠 경기를위한 아이템이 있습니다.

제 질문은이 문제를 어떻게 풀겠습니다. 또한 비슷한 맥락에서 ... 선택 목록이 있다면 주 코드, 도시 등을 말하십시오.이 데이터 (상태 테이블, 도시 테이블 등)를 채우기 위해 별도의 테이블을 만드는 경향이 있습니까? 이 모든 정보는 공통 테이블에 있으며 어떤 드롭 다운이 사용되었는지 나타낼 수있는 ID가 있습니까? 전자는 더 정규화 된 것처럼 보이지만 후자는보다 효율적으로 보인다 (적은 코드 작성).

+0

나는 이것이 asp.net-mvc와 아무 관련이 없다고 생각한다. 멀티 테넌트 (Multi-tenantcy)는 꽤 언어에 구애받지 않으며, 당신의 질문은 데이터 디자인 문제에 더 가깝습니다. – jfar

+0

asp.net-mvc는 현지화 측면과 asp.net-mvc에서 제공하는 현지화 방법 때문에 발생합니다. 또한 MVC와 다른 프레임 워크에서 다른 드롭 다운 목록이 채워지는 방식과 관련이 있습니다. –

답변

1

일반적인 조회 테이블에 대한 생각. 이 사람은 확실히 반대합니다.

http://www.projectdmx.com/dbdesign/lookup.aspx

내가 그것을 사용하고 나는 시간을 저장, 또는 적어도 일부 키 입력을했다고 생각했다. 나중에 죄송합니다.

+0

그는 흥미로운 의견을 갖고 있습니다. 나는 그들 중 일부와 정말로 동의하지 않으며 오히려 지나치게 이론적이라고 생각한다. 그러나 그는 좋은 지적을합니다. 순리 주의자들과 실용 주의자들 사이에 이러한 데이터베이스 설계의 분열이있다. 순수 주의자는 자연 키로 고도로 정규화 된 데이터를 믿습니다. 실제로이 기술은 종종 이러한 접근 방식을 어렵게 만듭니다. 또한 순수 주의자들은 데이터 모델을 실제 모델링으로 생각하는 경향이 있지만 일부 데이터 모델은 양보 (예 : 확장 가능하거나 다중 사용자 문제를 처리해야 함)해야합니다. –

+0

링크를 더 이상 사용할 수 없으므로 응답이 실제로 유효하지 않습니다. –