因此,根据 梅赫达德对一个相关问题的回答,我 去拿认为“适当的”数据库表列不存储列表。相反,您应该创建另一个表,有效地保存所述列表的元素,然后直接或通过连接表链接到它。但是,我想创建的列表类型将由唯一的项组成(不同于链接问题的 水果示例)。此外,我的列表中的项是显式排序的——这意味着如果我将元素存储在另一个表中,那么每次访问它们时都必须对它们进行排序。最后,这个列表基本上是原子的,因为无论何时我想访问这个列表,我都想访问整个列表,而不仅仅是其中的一部分——所以发出一个数据库查询来收集列表的各个部分看起来很愚蠢。
AKX 的解决方案(链接在上面)是序列化列表并将其存储在一个二进制列中。但这似乎也不方便,因为这意味着我必须担心序列化和反序列化。
还有更好的解决办法吗?如果 是没有更好的解决方案,那么为什么?看来这个问题应该不时地出现。
... 只是多一点信息,让你知道我从哪里来。当我刚开始理解 SQL 和数据库时,我就开始使用 LINQ to SQL,所以现在我有点被宠坏了,因为我希望处理我的编程对象模型,而不必考虑对象是如何被查询或存储在数据库中的。
谢谢大家!
约翰
更新: 所以在我得到的第一批答案中,我看到“你可以走 CSV/XML 路线... ... 但是不要!”.所以现在我想知道为什么。给我一些好的推荐信。
另外,为了让您更好地了解我在做什么: 在我的数据库中,我有一个将包含(x,y)对的函数表。(该表还将包含其它对我们的讨论无关紧要的信息。)我将永远不需要看到(x,y)对列表的一部分。相反,我将把它们全部放在屏幕上绘制出来。我将允许用户拖动周围的节点偶尔更改值或添加更多的值到绘图中。