为什么第一次引用Linq to Entities如此缓慢

3
使用Entity Framework 4.0,似乎第一次对实体框架对象上下文执行操作(读取或写入)需要比第二次长得多。例如,第一次查询可能需要10秒钟(是的,秒),而第二次只需要0.1秒。
我猜测第一次构建objectcontext时,它必须构建某种幕后数据结构?它是否解析EDMX文件(我认为应该在编译时完成)?

听起来很奇怪...你能对这段代码进行分析吗? - soandos
3个回答

5

1

EF 启动时需要将实体数据模型 (EDM) 元数据加载到内存中、预编译视图和其他一次性操作的开销。为了克服这个问题,您可以尝试使用预热查询。


0

也许您在运行查询时遇到了与数据库表相关的问题。第一次运行 EF 时,它会编译您的查询、创建执行计划等等,因此当您第二次运行时,数据库使用缓存版本的查询。尝试为您的表添加索引,看看是否有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接