[英]Which versions of the Entity Framework support compiled queries?
我已经看到它多次提到您应该将编译查询与Entity Framework一起使用,因为它提高了效率,与在SQL Server中编译和缓存的存储过程非常相似。
显然,有两种版本的编译查询,第一个是CompiledQuery
,据我所知,它仅适用于ObjectContext
而自动编译查询可同时使用DbContext
和ObjectContext
。
那么,在哪些版本的EF中,已编译的查询可以在哪个API上下文中工作?
.NET 4.5是第一个支持自动编译和缓存的版本。 从“ 编译查询”文档中:
从.NET Framework 4.5开始,LINQ查询将自动缓存。 但是,您仍可以在以后的执行中使用编译的LINQ查询来减少此开销,并且编译的查询比自动缓存的LINQ查询更有效。 请注意,不会自动缓存将Enumerable.Contains运算符应用于内存中集合的LINQ to Entities查询。 同样,不允许在已编译的LINQ查询中参数化内存中的集合。
自.NET 3.5 sp1以来,已有对手动编译查询的CompiledQuery
支持。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.