【问题标题】:How to store my data (C#.net)如何存储我的数据(C#.net)
【发布时间】:2010-09-05 15:38:30
【问题描述】:

我在决定如何存储一些数据时遇到了一些问题。从简单的角度来看,它将是一个简单的数据表,但会有很多表。每个表中大约有 7 列,但同样会有很多表(并且它们将在运行时创建,只要客户想要一个干净的网格)

数据必须在本地存储在一个文件中(并且不会有多个软件实例运行)。

我正在使用 C# 4.0,我一直在研究使用 XML 文件(每个表一个文件,或在一个文件中存储多个表)、sqlite、sql server CE、访问等。如果这里有人有,我会很高兴一些关于如何做/不做的cmets或建议。稳定性和可靠性(例如,不会因为不稳定的第三方软件而损坏数据库)可能是我最关心的问题。

【问题讨论】:

  • 这个数据会有多大?它可以放入内存吗?是否需要对其执行广泛的查询,或者它将是一次加载/保存?是否期望其他程序/进程访问/修改这些数据?在选择正确的工具之前需要回答的最小问题集。没有提供更多信息的每个答案都是纯粹的猜测。
  • 我认为您遗漏的一大信息是您在每张桌子上查看多少行?

标签: c# .net sql database c#-4.0


【解决方案1】:

如果您希望将数据本地存储在文件中,我建议您使用 sqlite 选项,因为您的数据似乎已经以数据库表的形式创建。 Sqlite 已经构建为可以处理多个表和列,因此对于开发人员来说,这意味着更少的精神开销。

http://web.archive.org/web/20100208133236/http://www.mikeduncan.com/sqlite-on-dotnet-in-3-mins/ 是一个不错的教程,可以快速概述如何设置和开始。

至于不该做什么:不要尝试制定自己的方案将数据保存到文件,这是一个很好理解的问题,已经解决了很多次,为什么要重新发明轮子?

【讨论】:

  • 感谢您的链接,我会试一试:)
【解决方案2】:

如果您计划进行多个查询,XML 将不是一个好的选择,因为加载文本文件可能会在它们增长时很痛苦(谈论超过 1mb 的文件)。如果您打算将数据保持在较低水平,那么 xml 会保持简单。我还是不会用它,但是如果你有背景,那么好处会比学习曲线更重要。

如果您没有任何专业知识,并且数据很轻,我的建议是 SQLite,我相信它是 .Net 的最佳轻量级数据库,并且提供者非常好。您可以在 Google 上轻松找到它。

我会告诉您,不推荐使用 Access,但这是个人意见。许多人使用它,我认为是出于某种原因。所以你应该检查一下并尝试一下。

同样,我的最终建议是 SQLite,除非您非常了解另一个,在这种情况下,您必须考虑您的数据会增长多少。如果您计划拥有一个大约 100mb 的数据库,那么除了 xml 之外的任何一个都可以;如果您认为它会变得更大,请认真考虑 SQLite

【讨论】:

  • 如果我将数据存储在单个 XML 文件中,则大小可能会成为问题,但如果我将其存储在多个文件中则不会。但是将所有内容保存在一个文件中是有好处的。我有 xml 的经验(至少有一点,我在以前的项目中一直使用 LINQ)和 mysql + microsoft sql server 用于其他一些项目。正如我所看到的,访问的优点是我不必依赖第 3 方代码,而使用 SQLite 我需要来自第 3 方的适配器,这让我有点担心。但似乎有一些开源解决方案,所以无论如何它可能不是问题。谢谢
猜你喜欢
  • 2018-02-03
  • 1970-01-01
  • 2021-05-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-22
  • 2015-01-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多