我正在做一种使用实体框架代码优先的测试生成应用程序。我有一个名为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