EntityRef和编译的LINQ计划

时间:2011-03-21 05:31:31

标签: c# linq linq-to-sql

有没有办法强制LINQ-2-SQL编译和缓存EntityRef的计划。

从内部分析中我们看到大量的CPU用于继续重新编译计划。

System.Reflection.Emit.DynamicMethod.CreateDelegate
System.Data.Linq.SqlClient.ObjectReaderCompiler.Compile
System.Data.Linq.SqlClient.SqlProvider.GetReaderFactory
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Compile
System.Data.Linq.CommonDataServices+DeferredSourceFactory`1.ExecuteKeyQuery
System.Data.Linq.CommonDataServices+DeferredSourceFactory`1.Execute
System.Linq.Enumerable.SingleOrDefault
System.Data.Linq.EntityRef`1.get_Entity

我更喜欢使用实体引用,但我想如果没有选择,我们可以手动编码。

1 个答案:

答案 0 :(得分:4)

不,没有办法强制LINQ 2 SQL编译和缓存EntityRef或EntitySet的查询。

实现中没有钩子。

如果您需要使用CompiledQuery,则必须编写自己的包装器和帮助器。