這可能是一個非常基本的問題,但我正在製作基於Windows Forms的應用程序,這將涉及大量的數據存儲。它基本上是一個運動模擬器,將有數百個球隊和數千名球員參賽。在WinForms應用程序中存儲數據
所以我需要找出最好的方式來存儲這些數據。 Windows窗體是相對較新的我,因爲我已經與ASP.NET被大部分工作,但我已經想出了以下思路:包含序列化
- 在程序目錄緊湊型SQL數據庫
- 文件對象。
是否有任何其他的解決方案,在那裏,可能會更好?或者我應該選擇哪些?
這可能是一個非常基本的問題,但我正在製作基於Windows Forms的應用程序,這將涉及大量的數據存儲。它基本上是一個運動模擬器,將有數百個球隊和數千名球員參賽。在WinForms應用程序中存儲數據
所以我需要找出最好的方式來存儲這些數據。 Windows窗體是相對較新的我,因爲我已經與ASP.NET被大部分工作,但我已經想出了以下思路:包含序列化
是否有任何其他的解決方案,在那裏,可能會更好?或者我應該選擇哪些?
你的要求是非常模糊的,但一般遠離系列化離開任何類型的持久性數據存儲的。如果你的數據是關係型的(它有內部結構,例如「團隊必須包含玩家」或「一個玩家只能是一個團隊的成員」),那麼我建議使用關係型數據庫管理系統,如SQL Server Compact Edition或SQLite的。
如果您的數據不是關係型的,我建議您使用RavenDB這樣的關鍵/價值商店。
另外,不要把數據放在程序目錄中;它可能不能被用戶寫入。將數據存儲在用戶目錄中。
可以使用.MDB Access數據庫來存儲數據。在我的經驗中不如SQLite那樣可靠。
另外,如果你需要的窗體關閉後保存這些數據你不提?如果你不這樣做,你可能只想在內存中使用DataSet(或DataTables)來保持數據的快速訪問。
感謝您的建議。它確實是關係型的,在經過一番研究後,我將使用SQL Server Compact,它與使用LINQ-to-SQL一起獲得額外獎勵 – Chris