我正在编写一个 WPF 客户端应用程序,使用带有 Sql Compact 版本的 Linq to Sql。db 相对较小 (3MB) 并且是只读的。
底线是性能不如我希望的那么好,我正在寻找提高性能的技巧和实用方法。
更多事实:该模式包含大约十几个实体,它们之间具有广泛的关系。
分析应用程序发现查询运行得非常快,但构建 c# 实体是花费最多时间的过程(可能长达 8 秒)。大多数情况下,我相信是因为我们使用了 LoadWith,而 DataContext 别无选择,只能在内存中构建对象图。
如果需要,我可以提供更多信息。
编辑:
- 正如我提到的,数据库是只读的,因此 DataContext 不跟踪更改。
- 我们正在对重复查询使用静态查询。问题是当应用程序初始化时,我们将许多对象预取到内存中作为缓存。
谢谢你的帮助。
爱丽儿