在SQL表中存储此数据的最佳方法

时间:2010-02-10 19:26:58

标签: sql linq-to-sql

我正在努力找出将这种特殊情况的数据存储在静态数据库表中的方法

在前端

将向用户显示一个简单的表(默认情况下为5x5),但用户可以随意扩展或删除行/列。

这个想法是第一列将是与标题相同的标签,类似于图表,并且对任何一个的任何更改都反映到另一个,所以图形(不是真正的图形,但我觉得它是一个有效的比较)仍然是一个正方形

     col1    col2    col3    col4    col5
row1   1      5       6        8      9

row2   2      3       4        5      3

row3   0      0       0        0      0    all values can be different

row4   0      0       0        0      0    the row and column names will be the same always

row5   0      0       0        0      0

IE(以5x5开头,如果用户删除row5或col5,则变为4x4)

因为这个动态数量的列我不确定如何在数据库的表中表示它。

“map”中的每个单元格都只包含一个int,我很难找到一种优雅的方法在我的数据库中映射它以使用linq to sql

任何想法?

编辑:我可以简单地从前端包装JSON对象中的所有内容并为此提供一堆代码,但我不确定这是否最简单,主要是为了寻找一些好的输入

1 个答案:

答案 0 :(得分:1)

这是一个开始,使用Graph表,其中包含列,行和单元格的单独表。它不会强制执行图形的“方形”,但您可以在应用程序逻辑中强制执行该操作。

Graph
- GraphID

GraphColumn
- GraphID
- ColumnID
- ColumnName

GraphRow
- GraphID
- RowID
- RowName

GraphCell
- ColumnID
- RowID
- CellValue