我正在编写这个应用程序,它允许用户定义自定义测验,然后允许另一个用户回答问题。测验的每个问题都有相应的数据类型。所有问题的所有回答都垂直存储在我的 [Response] 表中。我目前使用 2 个字段来存储响应。
//Response schema
ResponseID int
QuizPersonID int
QuestionID int
ChoiceID int //maps to Choice table, used for drop down lists
ChoiceValue varbinary(MAX) //used to store a user entered value
我正在使用 .net 3.5 C# SQL Server 2008。
我在想我想在同一个字段中存储不同的数据类型,然后在我的 SQL 报告过程中我会转换为正确的数据类型。我认为这是理想的,因为我只需要检查一个字段。我也认为这可能比它的价值更麻烦。
我认为我的其他选择是;将数据作为字符串存储在数据库中(恶心),或者为我可能使用的每种数据类型设置一个列。
所以我想知道的是,我将如何在 C# 中格式化我的数据类型,以便它们可以在 SQL 中正确转换?在 SQL 中转换对性能有何影响?我应该为每种数据类型制作一整列吗?