我将使用Linq to Entities。我的问题是,我将多次调用Linq to Entities。 Linq to Entities查询是否会在多次调用时被缓存?如果不是,是否有一种方法可以缓存查询,以便每次调用时都不需要重新编译或生成。
我将使用Linq to Entities。我的问题是,我将多次调用Linq to Entities。 Linq to Entities查询是否会在多次调用时被缓存?如果不是,是否有一种方法可以缓存查询,以便每次调用时都不需要重新编译或生成。
一般来说,默认情况下缓存不够。Entity Framework会进行一定量的编译查询缓存,但是它的生命周期不会超过ObjectContext。如果您像我一样使用短暂的ObjectContext,那么您需要一些持久性更长的东西。这个“东西”就是CompiledQuery。
您可以使用编译查询来避免每次生成查询。如果您多次使用完全相同的查询,这将显着提高性能。
http://thedatafarm.com/blog/data-access/compiled-queries-in-entity-framework/