Я делаю тип тестового приложения, использующего сначала код Entity Framework. У меня есть базовый класс 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