다른 모듈/질문 카테고리를 포함하고 다양한 질문/문제 유형 (예 : 객관식, 복수 선택, 오디오, 오디오 및 양식, 기타)을 허용하는 테스트 도구를 개발 중입니다. 테스트 (퀴즈)에는 다양한 선택 항목이있는 객관식 질문이 포함됩니다. 다음은 퀴즈 엔진에 대한 스키마는 어떻게 만듭니 까?
내 초기 스키마입니다 : 내가 가장 좋은 방법은 다른 질문/문제 유형을 허용 할 생각Category(Id, Name)
Question (Id, CategoryId)
MultipleChoiceQuestion (Id, QuestionId, Text)
MultipleChoiceWithAudioQuestion (Id, QuestionId, Text, AudioFile, Transcript)
AudioQuestion (Id, QuestionId, AudioFile, Transcript)
Answer (Id, QuestionId, Correct)
MultipleChoiceAnswer (Id, AnswerId, Text)
AudioQuestionAnswers (Id, AnswerId, Field, Value)
Test (Id, UserId, TestDate)
TestQuestions (Id, TestId, QuestionId)
TestAnswers (Id, TestId, QuestionId, AnswerId)
하면 해당 질문 유형에 대한 특정 추가 필드를 포함 할 각 하위 유형의 테이블을 만드는 것이 었습니다 . Type, Subtype, and Category Patterns in Logical Data Modeling
테스트는 서로 다른 범주로 구성되며 각 범주는 해당 특정 범주에서 무작위로 선택된 질문으로 구성됩니다. 사용자가 수행 한 각 테스트는 데이터베이스에 저장됩니다.
내가 올바른 길을 가고 있다고 생각하십니까? EntityFramework와 같은 ORM을 사용하여 클래스에 테이블을 매핑하는 방법은 무엇입니까?
내가 생각한 또 다른 스키마는 너무 일반적이고 쿼리하기가 어려웠습니다.
Content (Id, Name)
ContentMeta (Id, ContentId, MetaKey, MetaValue)
계층 형 복합 유형의 테스트는 어떻게 표시합니까? ASP .NET MVC 3 (면도기)에서 모델 바인딩을 사용할 수 있습니까?