我在玩 RavenDb,正在做一些测验。有不同类型的问题: - 多项选择(A、B、C 或 D?) - 日期(在什么日期...?) - 数字(多少...?)
我所做的是创建一个带有属性的基类 Question ,Question
其中包含用户给出的字符串形式的问题和答案列表。
public class Question
{
public string Question { get; set; }
public List<Answer> Answers { get; set; }
}
然后我创建了多个子类,它们继承自Question
. 例如,NumberQuestion
包含属性MinimumValue
和MaximumValue
,因为这是每个问题的差异。
我希望用户给出答案,并将该答案保存到数据库中。问题是,答案可以是不同的类型,例如 DateTime、float 或 integer(多选)。我的问题是,将答案保存在 RavenDb 中的最佳方法是什么?
这就是我目前正在做的事情:
public class Answer
{
public User User { get; set; }
public string AnswerString { get; set; }
public string AnswerType { get; set; }
}
我在这里所做的是将答案保存为字符串并保存类型(DateTime、float 等),以便稍后解析。
它有效,但我不太喜欢它。必须有另一种更好的方法。