2014-09-17 3 views
2

Для школьного задания я хочу создать небольшой тип веб-сайта, на котором вы можете ввести несколько вопросов и добавить их на экзамен.Код объекта сущности первого объекта ссылается на несколько объектов

Технологии, которые я использую, это MVC и Entity Framework (сначала код). Ибо это первый раз, когда я еду самостоятельно, без учебников и т. Д., И я, похоже, застрял в своем модельном дизайне (те, которые будут использоваться для базы данных).

Я хочу таблицу Exam, которая содержит несколько Questions. Это, на мой взгляд, должно быть сборником (исследование говорит, чтобы использовать это, но я не уверен, что это правильно).

Как бы я установил модель Exam в этом случае, чтобы она содержала несколько Question objects и также может использоваться кодом Entity Frameworks First?

Вот что я сейчас:

public class Exam 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public DateTime CreationDate { get; set; } 
    public ICollection<Question> Questions { get; set; } 
} 

public class Question 
{ 
    public enum Answers 
    { 
     A, 
     B, 
     C, 
     D 
    } 

    public int Id { get; set; } 
    public string Name { get; set; } 
    public string AnswerA { get; set; } 
    public string AnswerB { get; set; } 
    public string AnswerC { get; set; } 
    public string AnswerD { get; set; } 
    public Answers Correct { get; set; } 
} 
+0

Что у вас есть выглядит хорошо, какие проблемы вы с? –

+0

Это кажется правильным. В чем проблема, с которой вы сталкиваетесь? – Kenneth

+0

Создали ли вы свой контекст и пытались использовать вышеуказанные объекты? Все выглядит нормально ... – Charleh

ответ

0

Вы можете добавить в свойствах Вопрос, как это:

[ForeignKey("Exam")] 
public int ExamId { get; set; } 

public virtual Exam Exam { get; set; } 

, если вы хотите иметь контроль над ключами Foregin.

И вы можете добавить виртуальный ключевое слово, чтобы включить отложенную загрузку в своем классе экзамен:

public virtual ICollection<Question> Questions { get; set; } 
Смежные вопросы