CompiledQuery Class
Represents a cached LINQ to Entities query.
Assembly: System.Data.Entity (in System.Data.Entity.dll)
Provides for compilation and caching of queries for reuse. Conceptually this class contains a single Compile method with several overloads. You call the Compile method to create a new delegate to represent the compiled query. The delegate, when invoked with the ObjectContext input parameter and other parameter values, produces some result (such as an IQueryable(Of T) instance). The query is translated and cached when the delegate is invoked for the first time.
The following example compiles and then invokes a query that accepts DateTime and Decimal input parameters and returns a sequence of orders where the order date is later than March 8, 2003 and the total due is less than $300.00:
ReadOnly s_compQuery5 = _ CompiledQuery.Compile(Of AdventureWorksEntities, DateTime, Decimal, IQueryable(Of SalesOrderHeader))( _ Function(ctx, orderDate, totalDue) From product In ctx.SalesOrderHeader _ Where Product.OrderDate > orderDate _ And Product.TotalDue < totalDue _ Order By Product.OrderDate _ Select Product) Sub CompiledQuery5() Using AWEntities As New AdventureWorksEntities() Dim orderedAfterDate As DateTime = New DateTime(2003, 3, 8) Dim amountDue As Decimal = 300.0 Dim orders As IQueryable(Of SalesOrderHeader) = _ s_compQuery5.Invoke(AWEntities, orderedAfterDate, amountDue) For Each order In orders Console.WriteLine("ID: {0} Order date: {1} Total due: {2}", _ order.SalesOrderID, order.OrderDate, order.TotalDue) Next End Using End Sub
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003
The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.