2012-01-20 2 views
0

MVC3 및 EF4에서 작업하고 있습니다. 다국어 FAQ 기능을 만들고 싶습니다. 어떻게 든 groupId를 통해 이러한 항목을 그룹화 할 수 있어야합니다 (이 질문은 다른 언어로 된 동일한 질문입니다). 예를 들어 다른 언어로 된 FAQ 질문과 답변이있을 수 있습니다.EF4/SQL 생성 그룹/그룹화 항목

이 테이블을 가지고 GroupId 필드를 추가 할 수 있지만 "이"항목이이 GroupId에 속한다는 것을 알 수 있도록 만드는 방법.

enter image description here

이를 달성하는 가장 좋은 방법은 무엇입니까? 가장 효율적인 방법은 무엇이며, 가장 효율적입니다. 감사합니다.

+0

그룹 속성을 가져올 수 있도록 그룹 테이블과 외래 키를 사용하고 싶습니다.하지만이 질문을 올바르게 이해하고 있는지는 잘 모르겠습니다. –

답변

1

이미 현재 테이블에이 기능이있는 것 같습니다. GroupId으로 FaqId을 사용하십시오. FaqId을 자동 생성하지 않고 FaqId + LanguageId을 복합 기본 키로 설정하십시오. 이 경우 FaqId은 단일 질문의 모든 언어 변이를 가리 킵니다.

테이블을 정규화 할 수도 있습니다. 당신은 Faq (FaqId (PK), LoginId, IsActive, CreateDate) 및 FaqLocalization (FaqId (FK, PK), LanguageId (PK), Question, Answer)로 나눌 수 있습니다. 이러한 정규화 된 테이블의 열 선택은 추가 요구 사항에 따라 달라집니다. 이 정규화가 완료되면 FaqLocalization 테이블을 수정하고 복합 PK를 제거하고 LocalizationId (PK)을 새로 추가 할 수 있습니다. FaqId (FK)은 GroupId입니다.

+0

좋은 해결책. 나는 두 번째 접근법, 즉 그것을 두 개의 테이블로 나누는 것을 끝내었다. 감사 – ShaneKm

관련 문제