这可能是一个非常基本的问题,但我正在开发一个基于Windows窗体的应用程序,这将涉及大量的数据存储。它本质上将是一个体育模拟器,那里将有数百支球队,拥有数千名球员。
所以我需要找到最好的方法来存储这些数据。Windows窗体对我来说是相对较新的,因为我一直在使用ASP.NET,但我想出了以下几个想法:
还有其他更好的解决方案吗?或者我该选哪一个?
发布于 2011-09-19 16:43:17
您的需求非常模糊,但是通常不要对任何类型的持久数据存储进行序列化。
如果您的数据是关系型的(它有内部结构,比如“团队必须包含玩家”或“玩家只能是一个团队的成员”),那么我建议使用关系DBMS,比如或SQLite。
如果您的数据不是关系型的,我建议使用类似于RavenDB的键/值存储。
此外,不要将数据放在程序目录中;它可能不能被用户写入。将数据存储在用户目录中。
发布于 2011-09-19 15:42:09
如果您需要对数据执行查询,我将避免使用专用格式对其进行序列化。
如果只有一个用户,那么您可以做一些简单的事情,比如通过JET驱动程序( SQLLite或NoSQL )访问MDB。
如果要有多个并发用户,那么您几乎肯定需要查看基于“服务器”的SQL --例如server(尽管注意到DB大小的限制)、MySQL等。
发布于 2011-09-19 17:21:51
可以使用.MDB Access数据库来存储数据。在我的经验中,没有SQLite那么可靠。
此外,您没有提到是否需要在表单关闭后持久化这些数据?如果没有,您可能只想在内存数据集(或DataTables)中使用,以使数据能够快速访问。
https://stackoverflow.com/questions/7473429
复制相似问题