我不确定“选项”到底是什么意思,但是:
在你的问题课上有这个:
public virtual ICollection<Option> Options { get; set; } // which will be used to access your Question's options appointments.
和
public int QuestionID { get; set; } // The ID of the question that this option belong to
public virtual Question Question { get; set; } // The question that this option belong to
如果您想要 Question 和 Option 之间的一对多关系(“一个问题可能有多个选项,但一个选项可能只属于一个问题”)或
public virtual ICollection<Question> Questions { get; set; }
如果你想要一个没有链接表的多对多关系(“一个问题可能有很多选项,一个选项不属于很多问题”)。
我在这里回答了一个类似的问题:实体框架没有在域类中添加多个对象到数据库。
至于视图,您可以使用以下内容:
@for (int i = 0; i < Model.Option.ToList().Count(); i++){
@Html.EditorFor(m => m.Option.ToList()[i]); // Create an EditorFor template for your "question" and use it here.
}
编辑:
我不太了解旅游数据模型或业务逻辑,但如果你想要一个下拉选项,请执行以下操作: - 在控制器方法上将 SelectList 添加到 Viewbag:
ViewBag.Answer= new SelectList(question.Options, "Name_of_yuour_Option_id_field", "Name_of_a_field_that_describes_your_Option");
然后在您的视图中:
@Html.DropDownList("答案", String.Empty)
同样,我并不完全理解您的数据模型,但我相信如果您的“答案”是其中一种选择,那么public string Answer { get; set; }
您应该拥有public int AnswerID { get; set; } // where AnswerID will hold the id of the selected option.
我希望这可以帮助你走得更远。还可以查看有关下拉列表的 stackoverflow 问题(例如 ,如何为 MVC4 剃须刀视图(C#)填充下拉列表)