Quindi, in base alla risposta di Mehrdad a una domanda correlata , ho capito che una colonna della tabella di database "corretta" non memorizza un elenco. Piuttosto, dovresti creare un'altra tabella che contenga efficacemente gli elementi di tale elenco e quindi collegarti ad essa direttamente o tramite una tabella di giunzione. Tuttavia, il tipo di elenco che voglio creare sarà composto da elementi unici (a differenza del frutto della domanda collegataesempio). Inoltre, gli elementi nel mio elenco sono ordinati in modo esplicito, il che significa che se memorizzassi gli elementi in un'altra tabella, dovrei ordinarli ogni volta che li accedo. Infine, l'elenco è fondamentalmente atomico in quanto ogni volta che desidero accedere all'elenco, voglio accedere all'intero elenco anziché solo a una parte di esso, quindi sembra sciocco dover emettere una query al database per raccogliere insieme pezzi di la lista.
La soluzione di AKX (collegata sopra) è serializzare l'elenco e memorizzarlo in una colonna binaria. Ma questo sembra anche scomodo perché significa che devo preoccuparmi della serializzazione e deserializzazione.
C'è una soluzione migliore? Se non v'è alcuna soluzione migliore, allora perché? Sembra che questo problema dovrebbe sorgere di tanto in tanto.
... solo qualche informazione in più per farti sapere da dove vengo. Non appena ho iniziato a capire SQL e i database in generale, sono passato a LINQ to SQL, quindi ora sono un po 'viziato perché mi aspetto di occuparmi del mio modello di oggetti di programmazione senza dover pensare a come gli oggetti vengono interrogati o archiviati nel database.
Ringrazia tutti!
John
AGGIORNAMENTO: Quindi nella prima raffica di risposte che ricevo, vedo "puoi seguire il percorso CSV / XML ... ma NON!". Quindi ora sto cercando spiegazioni sul perché. Indicami alcuni buoni riferimenti.
Inoltre, per darti un'idea migliore di ciò che sto facendo: Nel mio database ho una tabella delle funzioni che avrà un elenco di coppie (x, y). (La tabella conterrà anche altre informazioni che non hanno importanza per la nostra discussione.) Non avrò mai bisogno di vedere parte dell'elenco delle coppie (x, y). Piuttosto, li prenderò tutti e li traccerò sullo schermo. Consentirò all'utente di trascinare i nodi per modificare i valori occasionalmente o aggiungere più valori al grafico.