使用Entity Framework 4.0,似乎第一次针对实体框架对象上下文完成(读取或写入)操作时,它需要比第二次更长的时间。例如,第一次查询可能需要10秒(是秒),第二次是.1秒。
我猜第一次构造objectcontext时,它必须在场景数据结构后面构建某种类型?它是在解析EDMX文件(我以为它会在编译时完成吗?)
答案 0 :(得分:5)
构建视图会在后续调用中缓存。
您可以预先生成视图,以避免第一次出现性能影响:
http://www.dotnetspark.com/kb/3706-optimizing-performance.aspx
答案 1 :(得分:1)
EF具有将实体数据模型(EDM)元数据加载到内存,预编译视图和其他一次性操作的启动费用,您可以尝试使用预热查询来超越它。
答案 2 :(得分:0)
也许您遇到了运行查询的数据库表的问题。因此,第一次运行EF时,它会编译您的查询,创建执行计划等,因此当您第二次运行DB时,会使用查询的缓存版本。尝试向表中添加索引,看看是否有帮助。