【问题标题】:Where to store the data from database temporarily?将数据库中的数据临时存储在哪里?
【发布时间】:2013-05-28 20:09:43
【问题描述】:

我在我的 C# 应用程序 (WPF) 中使用 SQLite 本地数据库。

您不应该打开一次数据库连接并在开始时加载所有数据(而不是每次需要数据库中的一些数据时打开连接)?

我的问题是这些数据应该存储在应用程序的什么位置。

我应该创建一个包含多维数组或多维列表中所有信息的静态类吗?或者有没有更好的方法来存储信息?

【问题讨论】:

  • 将所有数据加载到内存中,您将违背数据库的目的。此外,在多线程环境中使用静态类来保存数据会遇到很多并发问题...
  • @rae1n 那么最好的方法是什么?保持 SQLite 数据库一直打开?

标签: c# .net database sqlite


【解决方案1】:

【讨论】:

    【解决方案2】:

    如果不了解您的业务逻辑,就无法正确回答您的问题。 但是,我可以告诉您,大多数应用程序不会将整个数据库加载到对象中,而是在需要数据时查询数据。

    对于您问题的另一部分,您为什么不创建 ADO.Net 数据模型?如果您使用的是 vs 2010,则可以使用模板,打开新项目后在搜索框中输入模型即可。

    【讨论】:

    • 哦,好的。谢谢。对 ADO.Net 一无所知。它与 SQLite 配合得好吗?
    【解决方案3】:

    看看数据集和visual studio的数据集设计器工具。

    如果您使用这种方法,您可以从不错的功能中受益,例如将 tghe 数据序列化为 xml 等等。

    【讨论】:

      【解决方案4】:

      是的,您的初始解决方案没问题,为了防止您的应用程序和数据库之间的流量,您应该将数据保存在内存中,例如您之前提到的属性,但您可以受益于 缓存 优势.

      如果您使用的是.Net framework 4.0,您可以使用System.Runtime.Caching,否则,您应该熟悉Enterprise application block 5.0或更低版本。

      Related Post

      System.Runtime.Caching-MSDN

      【讨论】:

        猜你喜欢
        • 2010-11-11
        • 2020-11-14
        • 2013-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-18
        • 1970-01-01
        相关资源
        最近更新 更多