Я пытаюсь разработать структуру следующим образом ...
- Я представляю курсы, которые преподаются учителями.
- Для каждого из этих курсов есть какие-либоколичество экзаменов (поскольку экзамен генерируется случайным образом, каждое поколение считается отдельным экзаменом), и я должен отслеживать это в базе данных.
- Экзамен может сдать 0 или более студентов.(И, наоборот, Студент может сдать один или несколько экзаменов.)
- После того, как Студент сдает экзамен (который выполняется через веб-интерфейс, который я уже разработал), этот Студент получает оценку заЭкзамен и ExamStatus (Пройдено, Сбой, Возврат, TestOut и т.Учитель) и т. д., но у меня есть хорошее понимание этого.
Я почти закончил свою структуру, но я борюсь с тем, как представить отношение студентов к экзаменам, а также работаю на ExamStatus,Вот моя мысль до сих пор.(Уже поздно, поэтому я приношу свои извинения за глупые ошибки.)
public class Student
{
public string StudentID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
// Should this even be part of the Student POCO?
public virtual ICollection<Exam> ExamsTaken { get; set; }
}
// I know this is right - putting it here to provide all the classes in question.
public class ExamStatus
{
public int ExamStatusID { get; set; }
public string Name { get; set; }
public string Description { get; set; }
}
// This is the POCO that really hangs me up.
public class Exam
{
public int ExamID { get; set; }
public int CourseID { get; set; }
public string ExamTitle { get; set; }
// Not sure if this should be part of Exam, or part of a different
// object?
public decimal? Score { get; set; }
public int? ExamStatusID { get; set; }
public virtual ICollection<Question> Questions { get; set; }
public virtual Course Course { get; set; }
public virtual ExamStatus ExamStatus { get; set; }
}
Буду признателен за любую помощь в этом отношении многие ко многим (студенты <-> экзамены).Я думаю, что слишком много думал об этом и полностью запутался в чем-то, что, вероятно, довольно просто.