0

我正在开发一个新的问答网站。我不知道如何保存多个选项。我不知道一个问题有什么选择。我的模型是

 public int QuestionID { get; set; }
        public string QuestionName { get; set; }
        public List<Options> Options { get; set; }
        public string Answer { get; set; }
        public string CreateDate { get; set; }
        public bool IsDelete { get; set; }

你能帮忙如何在数据库中保存多个选项

请你帮助我好吗??????

4

1 回答 1

0

我不确定“选项”到底是什么意思,但是:

在你的问题课上有这个:

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#)填充下拉列表

于 2013-09-03T08:35:52.217 回答