【问题标题】:Data storage/access for a C# Windows Forms application [closed]C# Windows 窗体应用程序的数据存储/访问 [关闭]
【发布时间】:2010-05-09 21:16:12
【问题描述】:

为 .NET 桌面应用程序存储数据的最佳或首选方式是什么?我知道这可能取决于我将如何使用该应用程序,但我只是在寻找一种简单易用的方法来为 .NET 应用程序存储数据。

【问题讨论】:

标签: .net winforms


【解决方案1】:

使用isolated storage

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • 嗯,将受版权保护的材料复制到另一个网页是不完全合法的。此外,这里链接的是 Microsoft 文档(并且链接在 2 年多后仍然很好)
  • 明白,但至少描述一些过程(而不是直接复制代码)比仅仅发布链接更有帮助。此外,虽然今天的链接可能很好,但不能保证它会永远如此。郑重声明,我对这篇文章发表评论的唯一原因是低质量的评论工具提示我评论(由于其仅链接内容)。有关详细信息,请参阅this Meta post
  • @Tom:实际上,在美国,复制一小部分受版权保护的作品作为更大作品的一部分通常被认为是合理使用 - 因此是合法的。在这种特殊情况下,您可能很难找到相关的报价,因为提问者的问题陈述相当模糊......但供将来参考。 (而且我过去肯定遇到过大量损坏的 MSDN 链接。可悲,但确实如此。)
【解决方案2】:

试试OODB。你可以使用db4o

【讨论】:

    【解决方案3】:

    这在某种程度上取决于数据的性质和您的“目标受众”。

    如果这是大量数据,也许文件存储不是你想要的,你想看看类似数据库的存储。

    如果是一些最小的用户选择集,经常被读取,并且被限制写入,那么注册表是一个不错的选择。

    如果您在企业环境中,您还需要了解阻止您在用户配置文件中存储大量数据的限制(策略)。

    如果您希望用户能够选择文件,请允许用户将数据存储在My Documents 中,但要从用户那里获取确切位置。技术数据最好存储在“本地应用程序数据”或“隔离存储”中。

    【讨论】:

    • 目前,我想创建简单的应用程序,例如带有待办事项列表的日记或日历,这些仅供个人使用。我喜欢为此使用无服务器数据库的想法。还有一些我想到的应用程序会有一些下拉字段,但是我希望能够编辑下拉列表中的数据。你会建议这样的注册表吗?你知道任何使用 c# 和 SQL Server Compact 的好教程吗?还有哪些其他无服务器数据库,或者您能建议什么?谢谢
    【解决方案4】:

    您可能会发现NHibernate 适合您的需求。 NHibernate 是一种 ORM,它基本上将您的对象保存在数据库中(几乎可以是任何风格,但 SQL Server Compact Edition 将是独立桌面应用程序的合适选择)并为您重构它们。

    我个人不喜欢或不使用 ORM,但它们是一种成熟且流行的技术,并且由于它们不透明地封装了底层数据库/存储机制,因此它们使这个决定对应用程序开发人员来说不太重要。您可以从 SQL Server CE 之上的 NHibernate 开始,如果 SqlCe 由于某种原因无法正常工作,您可以切换数据库而无需更改程序的其余部分。

    当然,您不必使用 NHibernate,ADO.NET 类提供基本相同的数据库独立性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-03
      • 2011-03-15
      • 1970-01-01
      • 1970-01-01
      • 2016-10-07
      • 1970-01-01
      相关资源
      最近更新 更多