J'écris cette application qui permettra à un utilisateur de définir des quiz personnalisés, puis permettre à un autre utilisateur de répondre aux questions. Chaque question du quiz a un type de données correspondant. Toutes les réponses à toutes les questions sont stockées verticalement dans ma table [Response]. J'utilise actuellement 2 champs pour stocker la réponse.Comment convertir <T> en varbinary et être encore capable d'effectuer une CONVERSION du côté sql? Implications?
//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
J'utilise NET 3.5 C# SQL Server 2008.
Je pense que je voudrais stocker différents types de données dans le même domaine, puis dans mon rapport SQL proc je convertirait à le type de données correct. Je pense que c'est idéal parce que je n'ai qu'à cocher un champ. Je pense aussi que cela pourrait être plus difficile que cela en vaut la peine.
Je pense que mes autres options sont de; stockez les données sous la forme de chaînes dans le db (yuck), ou pour avoir une colonne pour chaque type de données que je pourrais utiliser.
Donc, ce que je voudrais savoir est, comment pourrais-je formater mes types de données en C# afin qu'ils puissent être convertis correctement en SQL? Quel est le taux de performance pour la conversion en SQL? Dois-je faire tout un tas de colonnes pour chaque type de données?
Je ne suis pas sûr de comprendre votre problème ... pourquoi auriez-vous besoin de différents types de données? Comme je le vois, il n'y a pas de "données" associées à un choix, juste un texte et peut-être une image. Quel genre de données mettriez-vous là? Pourriez-vous donner un exemple concret? –
Un utilisateur peut répondre avec une date/heure sur une question, un double sur une autre et une chaîne sur une autre. Je pensais stocker tous ces types de données différents dans le même champ "ChoiceValue". La table de questions aurait la référence au type de données. –