2013-10-08 78 views
0

我有一个保存数据到外部文件

List<MyCustomClass> mcc = new List<MyCustomClass>(); 

当程序运行时,它从用户的基础上,其组装表收集数据。 我想存储数据,以便下次运行程序时,它会记住。

我想总结一下,我有什么方法可以做到这一点?

  • 与StreamWriter我可以将文本保存到“file.txt”。
  • 我听说过有关保存到XML文件的选项。
  • 数据库:我没有经验,他们还

是否有其他的选择吗? 对于这个特定的原因,你会推荐哪一个,为什么?

+0

我会保存到基于文件的数据库。尝试SQL Server Compact! – Tico

回答

1

我会用一个数据库肯定的,但如果这是一个程序为单个用户的小应用程序,我会用两种:

SQL Server Compact

或文档存储数据库(没有SQL)

RavenDB

随着RavenDB你可以把你的MyCustomClass对象拖放IT方面直接进入这个存储并将其重新取出。

1

在大多数情况下,您应该将其保存到数据库中。数据库用于存储,更重要的是检索数据。

如果将它保存到文本文件中,您将负责格式化数据,然后编写更多代码来检索它。如果您需要将新属性添加到MyCustomClass,该怎么办?

使用XML对它进行序列化并将其写入文本会更好,因为格式化是为您完成的,但您仍然存在稍后检索它的问题。如果您有1000条记录并需要获得记录#495,该怎么办?您将不得不阅读整个文本文件,可能会将所有文本序列化回您的对象并搜索记录。非常慢。

数据库解决了这一切为你。如果它是一个小应用程序,甚至有数据库是正常的文件!对于较大的项目,您将需要一个集中的数据库,所以你绝对应该给它一个去