2013-09-28 48 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 []之間進行轉換。 –

相關問題