Also, je Mehrdad Antwort auf eine ähnliche Frage , ich es bekommen , dass ein „richtiger“ Datenbanktabellenspalt keine Liste speichert. Sie sollten vielmehr eine andere Tabelle erstellen, die die Elemente dieser Liste effektiv enthält, und sie dann direkt oder über eine Junction-Tabelle mit ihr verknüpfen. Die Art der Liste, die ich erstellen möchte, besteht jedoch aus eindeutigen Elementen (im Gegensatz zu den Früchten der verknüpften Frage)Beispiel). Darüber hinaus sind die Elemente in meiner Liste explizit sortiert. Wenn ich die Elemente in einer anderen Tabelle gespeichert habe, muss ich sie jedes Mal sortieren, wenn ich darauf zugegriffen habe. Schließlich ist die Liste im Grunde genommen atomar, da ich jedes Mal, wenn ich auf die Liste zugreifen möchte, auf die gesamte Liste zugreifen möchte und nicht nur auf einen Teil davon. Es erscheint also albern, eine Datenbankabfrage ausgeben zu müssen, um Teile davon zusammenzustellen Die Liste.
Die Lösung von AKX (oben verlinkt) besteht darin, die Liste zu serialisieren und in einer Binärspalte zu speichern. Dies scheint aber auch unpraktisch zu sein, da ich mir Sorgen um Serialisierung und Deserialisierung machen muss.
Gibt es eine bessere Lösung? Wenn es ist keine bessere Lösung, warum dann? Es scheint, dass dieses Problem von Zeit zu Zeit auftreten sollte.
... nur ein bisschen mehr Infos, um dich wissen zu lassen, woher ich komme. Sobald ich gerade angefangen hatte, SQL und Datenbanken im Allgemeinen zu verstehen, wurde ich auf LINQ to SQL umgestellt, und jetzt bin ich ein wenig verwöhnt, weil ich damit rechne, mit meinem Programmierobjektmodell umzugehen, ohne darüber nachdenken zu müssen, wie die Objekte aussehen werden abgefragt oder in der Datenbank gespeichert.
Vielen Dank an alle!
John
UPDATE: In den ersten Antworten, die ich bekomme, sehe ich "Sie können den CSV / XML-Weg gehen ... aber NICHT!". Jetzt suche ich nach Erklärungen, warum. Zeigen Sie mir einige gute Referenzen.
Um Ihnen eine bessere Vorstellung davon zu geben, was ich vorhabe: In meiner Datenbank habe ich eine Funktionstabelle mit einer Liste von (x, y) Paaren. (Die Tabelle enthält auch andere Informationen, die für unsere Diskussion keine Bedeutung haben.) Ich werde niemals einen Teil der Liste der (x, y) -Paare sehen müssen. Vielmehr werde ich sie alle nehmen und auf dem Bildschirm darstellen. Ich werde dem Benutzer erlauben, die Knoten zu ziehen, um die Werte gelegentlich zu ändern oder dem Plot weitere Werte hinzuzufügen.