Я пишу это приложение, которое позволит пользователю определить пользовательские викторины, а затем разрешить другому пользователю отвечать на вопросы. Каждый вопрос викторины имеет соответствующий тип данных. Все ответы на все вопросы хранятся вертикально в моей таблице [Response]. В настоящее время я использую 2 поля для хранения ответа.Как мне сделать <T> в varbinary и все еще быть в состоянии выполнить CONVERT на стороне SQL? Последствия?
//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 прока я Преобразовать в правильный тип данных. Я думаю, что это идеально, потому что я должен проверять только одно поле. Я также думаю, что это может быть больше проблем, чем того стоит.
Я думаю, что мои другие варианты; хранить данные как строки в db (yuck) или иметь столбец для каждого типа данных, который я мог бы использовать.
Так что я хотел бы знать, как бы я отформатировал свои типы данных на C#, чтобы они могли быть правильно преобразованы в SQL? Что такое производительность для преобразования в SQL? Должен ли я просто создать целый столбец для каждого типа данных?
Я не уверен, что понимаю вашу проблему ... зачем вам нужны разные типы данных? Как я вижу, нет никаких «данных», связанных с выбором, просто текст и, возможно, изображение. Какие данные вы бы там поместили? Не могли бы вы привести конкретный пример? –
Пользователь может ответить с датой на один вопрос, двойной на другой и строку на другой. Я думал хранить все эти разные типы данных в одном поле «ChoiceValue». В таблице вопросов будет ссылка на тип данных. –