我正在做一種使用實體框架代碼優先的測試生成應用程序。我有一個名爲Question
的基類,其中MultipleChoiceQuestion
,EssayQuestion
和其他問題類型下降。 MultipleChoiceQuestions
顯然有多個答案,考生必須從中選擇。我的問題與選擇將它們存儲在問題實例中的最佳方式有關。MVC4模型屬性應該是一個列表或另一個類的ICollection
我可以用字符串列表聲明類來保存答案,就像這樣:
public class MulitpleChoiceQuestion : Question
{
private List<String> Answers = new List<String>();
// other declarations, etc.
}
相反,我可以聲明稱爲Answers
另一個類,並讓我Question
類使用的答案的集合。
public class Answer
{
public int AnswerID { get; set; }
public String AnswerText { get; set; }
public virtual Question Question { get; set; }
}
然後在我的問題的子類(不只是MultipleChoiceQuestions
)
public class MulitpleChoiceQuestion : Question
{
public virtual ICollection<Answer> Answers { get; set; }
// other declarations, etc.
}
難道還有比任一一個更好的辦法?如果不是,哪個更好,爲什麼?我很難在網絡上找到任何詳細的信息,而且大多數書籍都不會很深入。 在此先感謝您的任何指導。
感謝您的意見。我同意,在這種情況下更簡單。 – JohnG