2013-09-28 52 views
0

我想创建一个包含数据包的数据库,每个数据包包含50个级别,每个级别都有2D整数数组和2D布尔数组的信息。将大量信息存储在数据库中的最佳方式c#

如何以一种我可以轻松访问它们的方式存储所有这些数组?

我的应用程序创建一个int[,]阵列,并从用户输入的是bool[,]阵列,我想这些数组被保存在一个级别的用户选择了一个包用户选择..

我想,也许做用其包装与级别编号(1-50),并转换成一个长字符串数组2分列一列,每列数据包表,但它看起来只是太乱..

DataTable Pack1= new DataTable(); 
Pack1.Columns.Add("level",typeof(int)); 
Pack1.Columns.Add("Pack",typeof(int)); 
Pack1.Columns.Add("intarr",typeof(string)); 
Pack1.Columns.Add("boolarr",typeof(string)); 
Pack1.Rows.Add(1,1,"1,2,0,1,2,0,2,3,0,-1,2,1,5,3,2,1", 
"f,t,f,f,t,f,f,f,t,f,t,t,f,t,f,t"); 
Pack1.Rows.Add(2,1,"1,2,3,2,1,-1,2,3,1,4,2,3,1,5,-1,-1", 
"t,f,f,f,t,f,t,t,f,f,t,t,f,t,f,f"); 

和等等.. 我希望有更好的解决方案。

回答

0

这样的数据不适合以表格形式存储,因为它没有关系或分层结构。将整个阵列存储为数据库或平面文件中的blob。

+0

可以请给我一个例子或给我一个我可以使用的文章的链接?因为我真的没有与blob familliar .. –

+0

@JonatanSv。这归结为设计自己的文件格式,和/或序列化你的数据结构。 – 2013-09-28 19:41:55

+0

我不知道有任何文章推荐。大多数数据库绑定和ORM(包括'DataTable')都理解blob列,并使用'byte []'作为相应的CLR类型。你可以使用'Buffer.ByteLength'和'Buffer.BlockCopy'来在你的整型/布尔数组和byte []之间进行转换。 –

相关问题