我的数据库由 5 个表组成,总计约 10000 行。在共享文件夹上的 SQL Server CE 中需要 ~1Mb。数据库本身是分层的 Country-Region-City-Street-Building。我正在使用 Entity Framework 4。
因为数据库很小,所以用户可以在 WPF ListView 中浏览和编辑所有 2000 个城市。但是到目前为止,我尝试过的每一种方法的 GUI 都是缓慢的(因为许多数据库往返,虚拟数据 GUI 是轻快的)。如何通过一次或几次数据库往返将整个数据库加载到内存中?
我尝试了多个 Include()
但我注意到性能损失很大 as described here
我应该write my own ORM 灯?我也可以使用普通的 ascii CSV 文件而不是数据库,但它显然会排除并发性。
最佳答案
老实说,我自己也做过类似的事情,我的答案是将整个数据库复制到本地并对其进行处理。
如果您不仅要阅读而且要写作,我绝对建议放弃 CE 并安装 Sql Server 的 Express 版本之一。它们是为这种情况而设计的; CE 不是*。
*SP1 更适合并发访问,但对于大型数据集,网络永远无法发挥性能。
关于database - 如何使用 EF 急切加载整个数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4855700/