我正在玩RavenDb並正在構建某種測驗。有不同類型的問題: - (A,B,C或d) 選擇題 - 日期(在何日會...?) - 數字(有多少......?)同一屬性中的不同對象類型
什麼我做的是創建一個基類問題,用屬性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; }
}
我在這裏做的,就是答案保存爲一個字符串,保存的文件類型(日期時間,漂浮等)也是,所以我可以在以後對其進行解析。
它可以工作,但我不太喜歡它。必須有另一種更好的方式。
你爲什麼不'「非常喜歡」'..? – MethodMan
我認爲必須有一個更清潔的解決方案。現在我必須解析每個答案,以檢查它是否正確,而不是直接比較它 – user1797792