6

Is there any way to force LINQ-2-SQL to compile and cache plans for EntityRef.

From internal profiling we are seeing a significant amount of CPU used to keep on recompiling plans.

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

I would prefer to use entity ref, but I guess if there is no choice we can hand code this.

Sam Saffron
  • 128,308
  • 78
  • 326
  • 506

1 Answers1

4

No, there is no way to force LINQ 2 SQL to compile and caches queries for EntityRef or EntitySet.

There are no hooks in the implementation for it.

If you need to use CompiledQuery you will have to write your own wrapper and helpers.

Community
  • 1
  • 1
Sam Saffron
  • 128,308
  • 78
  • 326
  • 506