我将使用Linq to Entities。我的问题是,我将多次调用Linq to Entities。是否会多次调用Linq to Entities查询?如果没有,那么有一种方法可以缓存查询,因此每次调用时都不会编译或生成查询。
答案 0 :(得分:3)
一般来说,默认情况下缓存不够。实体框架有a certain amount of compiled query caching,但它不会比ObjectContext更长。如果你像我一样拥有短暂的ObjectContexts,你会想要一些持续时间更长的东西。那个“东西”是CompiledQuery。
答案 1 :(得分:1)
基本上是的。
See here for details - > “每当你重新查询对象时,你总会得到相同的实例”
One more link
<强>更新强>
编译查询的含义是什么?返回始终是同一组对象的查询?编译成IL的查询?返回相同实例的查询?
答案 2 :(得分:1)
您可以使用已编译的查询来防止每次生成查询。如果您多次使用完全相同的查询,这将显着提高性能。
http://thedatafarm.com/blog/data-access/compiled-queries-in-entity-framework/