【问题标题】:Storing DataRelation in xml?在xml中存储DataRelation?
【发布时间】:2009-04-08 20:53:04
【问题描述】:

我正在使用一种新颖的方法设计一个数据库应用程序。 (至少对我来说是小说...... :))

所以我也在为此做一些研究。

我正在使用 .NET 3.5 ADO.NET 数据集来处理数据并将其离线存储在 XML 中。

首先,这种方法对于一个严肃的应用程序(虽然是一个小数据库、4-5 个用户、大约 25 个表、每个大约 3-4k 条记录)有好处吗?

其次,如何将数据关系准确地存储在离线 XML 文件中?

谢谢!

苏拉布。

【问题讨论】:

    标签: c# .net-3.5 ado.net


    【解决方案1】:

    25 个表,每个表有 3-4k 行,这不是我所说的 xml 的“小”;尤其是在 xml 中跳转到正确的数据并不容易...

    您是否考虑过数据库,例如 SQL Server Express Edition。免费,而且胜任这份工作。


    重新存储;如果您使用的是内置序列化 DataSet,这应该会自动工作。当然,xml 将特定于 DataSet... 老实说我不推荐 DataSet/xml 方法。

    【讨论】:

      【解决方案2】:

      回答您的问题(尽管我同意 Marc 的观点,但您不应该使用 XML 作为数据存储层)。

      Ids 和 hrefs 通常用于在 XML 中创建关系(这是分层的而不是关系的,同样,您不应该使用 XML)。

      举个小例子:

      <region name="South Africa" id="region_1">
          <manager ref="#employee_1"/>
      </region>
      
      <employee name="John Doe" id="employee_1" region="#region_1">
          <manages>
              <employee ref="#employee_2" />
          </manages>
      </employee>
      
      <employee name="Cyril Smith" id="employee_2" region="#region_1">
          <manages /> <!-- code monkey -->
      </employee>
      

      【讨论】:

      • 我回答是为了让其他人可以看到如何做到这一点:即如果他们没有滥用 XML。
      【解决方案3】:

      我同意 Marc 的建议。 不要走 XML 路线。您可能不知道您的应用何时/如何增长。使用 xml 你没有事务,检查约束以保护数据的完整性,....

      数据库不仅仅是愚蠢的存储。使用一些免费的 express db 版本。这样您就可以轻松迁移到更专业的 DBMS 版本。

      【讨论】:

        【解决方案4】:

        我同意其他海报。在您的情况下,我不会使用 XML。要提出不同的建议,请尝试 SQLlite:http://www.sqlite.org/ 和 .NET ADO:http://sqlite.phxsoftware.com/。它不是一个超级强大的数据库,但它是免费的并且可以完成工作。

        但是,如果您发现您的应用程序的数据库在未来会变得越来越大(更多的用户、更多的使用等),您应该使用更强大的数据库,例如 SQL 或 MySQL。

        如果您出于某种原因绝对绑定到 XML,我会同意 Jonathan 的建议。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-01-27
          • 1970-01-01
          • 1970-01-01
          • 2012-04-26
          • 2010-10-04
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多