【发布时间】:2012-06-22 13:39:30
【问题描述】:
我想知道是否可以先加速使用 EF 代码进行的第一个查询。
我做了一个小测试程序,一个实体包含 2 个字段,第一个查询需要 2.2 秒,第二个查询(完全相同)需要 0.006 秒。
我已经在预编译视图,所以这里没有帮助。 我认为问题在于在内存中构建模型需要一些时间,但是需要那么长时间吗?有没有办法像视图一样预编译这个模型?
【问题讨论】:
-
不认为这是可能的,但我可能错了。查看此问题以了解第一次查询期间发生的情况stackoverflow.com/questions/5634338/…
-
@RaphaëlAlthaus 您可能是对的:/ 这很奇怪。您可以使用 DbModelBuilder 类构建自己的模型,然后在该对象上调用 Build 方法,因此应该可以这样做在编译时而不是运行时。但也许它只是没有实现。
-
检查数据库架构兼容性可能需要一些时间。您可以使用 SQL 分析器进行检查。
-
这就是我们切换回 EDMX 的原因。虽然它不是很快,但肯定比先编码更快。代码优先也是检查数据库结构以执行迁移等。普通 EDMX 立即开始执行查询。
标签: performance entity-framework code-first startup precompiled