在.NET中使用什么样的数据库

时间:2010-04-01 12:39:57

标签: c# database

我正在用C#编写一个程序,需要在用户的计算机上存储一些数据表,并在重新启动程序时加载它们:最多约10000条包含文本和整数的记录。我不想使用CSV文件,我在使用SQLite时遇到了一些麻烦。还有其他好的选择吗?

8 个答案:

答案 0 :(得分:11)

为什么不直接将数据表序列化为二进制文件并将其保存到磁盘。加载你就像再次反序列化到数据表一样简单吗?

答案 1 :(得分:10)

SQLite的Microsoft等效项为SQL Server Compact。这是免费的。您只需要在应用程序中重新分配一些dll。最终用户不会被迫安装完整的db产品,如SQL Server Express或MySQL来运行您的应用程序。

答案 2 :(得分:5)

我喜欢SQL Server Express版。

答案 3 :(得分:2)

您是要将所有内容加载到内存中,然后在内存中进行所有数据处理吗?在这种情况下,使用数据库引擎是过度的,一个简单的XML文件可能会这样做。

答案 4 :(得分:2)

将DataTable放入DataSet(如果它们尚未存在)并使用DataSet的WriteXml方法将内容保存到XML文件,并ReadXml重新构建DataSet。

如果您的应用已经被编写为可以使用DataTables(即您直接在DataTable上使用Sort,Select等),这是您最简单,最简单的解决方案。生成的XML文件对于你的porpoises来说可能太大了(因为XML非常冗长),但可能没有给出10,000行。

答案 5 :(得分:1)

SQL Express会起作用。您可以使用Linq to SQL轻松访问数据。

答案 6 :(得分:1)

就个人而言,我喜欢SQLite(与开源.NET提供程序System.Data.SQLite一起使用)。我不确定你对SQLite有什么样的问题,但是改成一个易于使用的提供者可能会有所帮助。

答案 7 :(得分:0)

Firebird与dotNet完美配合,也可以用于此。