C# 从数据库中临时存储数据的位置?

C# 从数据库中临时存储数据的位置?,c#,.net,database,sqlite,C#,.net,Database,Sqlite,我在C#应用程序(WPF)中使用SQLite本地数据库 您是否应该打开数据库连接一次,并在开始时加载所有数据(而不是每次需要数据库中的一些数据时都打开连接) 我的问题是,这些数据应该存储在应用程序中的什么位置 我应该创建一个静态类,它包含多维数组或多维列表中的所有信息。还是有更好的方法来存储信息?这些是此任务最常用的工具: (按我的推荐顺序) 看看数据集和visual studio的数据集设计器工具 如果您使用这种方法,您可以受益于良好的功能,如将tghe数据序列化为xml等。如果不了解您的

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

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

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


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

这些是此任务最常用的工具:

(按我的推荐顺序)


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


如果您使用这种方法,您可以受益于良好的功能,如将tghe数据序列化为xml等。

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


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

是的,您的初始解决方案正常,为了防止应用程序和数据库之间的通信,您应该将数据保存在内存中,例如您前面提到的属性,但您可以从缓存中获益

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


如果将所有数据加载到内存中,则会破坏数据库的功能。此外,在多线程环境中,使用静态类保存数据会遇到很多并发问题…@rae1n那么最好的方法是什么?保持SQLite数据库始终打开?哦,好的。谢谢我对ADO.Net一无所知。它是否与SQLite配合良好?