增加SQL Compact Edition读取速度

时间:2012-03-08 20:56:48

标签: wpf sql-server c#-4.0

我有一个将项目保存在SQL Server Compact Edition文件中的wpf应用程序。 此文件是从组成数据上下文的类列表中动态创建的。 当我遇到以下情况时,我的加载时间很慢。

尝试加载包含ItemB列表的ItemA列表

在我的datacontext中,这链接到Table1,从表1到表2和表2的链接表

要将其添加到我的应用程序中,我从Sql Server加载所有Table1行。 对于返回的每个Table1行,我将任何信息添加到New ItemA。然后,我查找通过链接表链接到当前Table1行的任何Table2行。对于返回的所有Table2行,我将它们转换为ItemB的列表并将它们添加到ItemA。

我最终得到了一个ItemA列表,每个对象都包含一个ItemB列表。问题是我正在对DB进行多次调用,这会在达到几百项时增加加载时间。 没有多次通话,有更好的方法吗? 如果不是加速应用程序的最佳方法是什么?我应该缓存ItemA,如果是这样,最好的方法是什么?

1 个答案:

答案 0 :(得分:0)

不是一个答案,但我相信sql ce对于上面提到的场景来说还不够快。因此,我将我的后备存储库更改为内存列表,按照上面的评论将其序列化为文件。 经过一个月的测试后,我没有遇到任何问题,并大大提高了我的申请速度。