与代码优先SQL Server数据库中存储对象的列表(Storing list of objects

2019-10-21 09:16发布

比方说,选择题答案的数量而变化。 一个问题只能有2个选择,而另一个可以有10个选项。

我如何保存在我的SQL Server数据库中的这些选择题? 就是下面的模型是否可行?

public class MultipleChoiceQuestion
{
    [Key]
    public Guid Id { get; set; }

    [Required]
    public string Question { get; set; }

    // Suppose I can have 2-10 answers
    [Required]
    public List<string> Answers { get; set; }
}

  • 我们可以存储在启用ASP.NET代码优先迁移SQL Server数据库与各种长度的对象列表?
  • 如果它是不适用的,什么是解决这些问题的最佳解决方案?

Answer 1:

您可以创建类型PossibleAnswer的另一个目的是将代表任何特定的选择题每个人的答案。 然后,你会修改你的MultipleChoiceQuestion对象你的答案属性为List类型的。 PossibleAnswer可以定义如下:

 public class PossibleAnswer {
      public Guid Id {get;set;}
      public Guid MultipleChoiceQuestionId {get;set;}
      public string Answer {get;set;}
 }


文章来源: Storing list of objects in a SQL Server database with code-first