2011-05-12 60 views
3

这么慢,看起来第一次对一个实体框架对象上下文的操作完成(读或写)时,它的命令比第二个更长时间。例如,第一次查询可能需要10秒(是秒),第二次是0.1秒。为什么Linq使用实体框架4.0第一次引用

我猜,第一次构建objectcontext它必须在场景数据结构后面建立某种排序?它是解析EDMX文件(我认为在编译时会完成吗?)

+0

听起来很奇怪......你能分析代码吗? – soandos 2011-05-12 17:03:26

回答

0

也许你有问题与您正在对运行查询一个数据库表。因此,第一次运行EF时,它会编译查询,创建执行计划等,因此当您第二次运行数据库时,会使用查询的缓存版本。尝试将索引添加到表中,并查看这是否有帮助。

1

EF有启动费用将实体数据模型(EDM)元数据加载到内存中,预编译视图和其他一次性操作,您可以尝试使用热身查询以通过它。