CompiledQuery クラス

定義

キャッシュ済みの LINQ to Entities クエリを表します。Represents a cached LINQ to Entities query.

public ref class CompiledQuery sealed
public sealed class CompiledQuery
type CompiledQuery = class
Public NotInheritable Class CompiledQuery
継承
CompiledQuery

次の例では、入力パラメーターとして DateTime および Decimal を受け取り、注文日が 2003 年 3 月 8 日より遅く合計支払額が $300.00 未満である一連の注文を返すクエリをコンパイルした後、呼び出しています。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:

static readonly Func<AdventureWorksEntities, DateTime, Decimal, IQueryable<SalesOrderHeader>> s_compiledQuery5 = 
    CompiledQuery.Compile<AdventureWorksEntities, DateTime, Decimal, IQueryable<SalesOrderHeader>>(
            (ctx, orderDate, totalDue) => from product in ctx.SalesOrderHeaders
                                          where product.OrderDate > orderDate 
                                             && product.TotalDue < totalDue
                                          orderby product.OrderDate
                                          select product);

static void CompiledQuery5()
{            
    using (AdventureWorksEntities context = new AdventureWorksEntities())
    {         
        DateTime date = new DateTime(2003, 3, 8);
        Decimal amountDue = 300.00M;

        IQueryable<SalesOrderHeader> orders = s_compiledQuery5.Invoke(context, date, amountDue);

        foreach (SalesOrderHeader order in orders)
        {
            Console.WriteLine("ID: {0} Order date: {1} Total due: {2}", order.SalesOrderID, order.OrderDate, order.TotalDue);
        }
    }            
}
ReadOnly s_compQuery5 = _
   CompiledQuery.Compile(Of AdventureWorksEntities, DateTime, Decimal, IQueryable(Of SalesOrderHeader))( _
                Function(ctx, orderDate, totalDue) From product In ctx.SalesOrderHeaders _
                                                   Where product.OrderDate > orderDate _
                                                      And product.TotalDue < totalDue _
                                                   Order By product.OrderDate _
                                                   Select product)
Sub CompiledQuery5()

    Using context 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(context, 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

注釈

再利用するクエリのコンパイルおよびキャッシュを提供します。Provides for compilation and caching of queries for reuse. このクラスには、概念上、単一の Compile メソッドとその複数のオーバーロードが存在します。Conceptually this class contains a single Compile method with several overloads. Compile メソッドを呼び出すことにより、コンパイル済みクエリを表す新しいデリゲートを作成できます。You call the Compile method to create a new delegate to represent the compiled query. このデリゲートに、ObjectContext 入力パラメーターや、その他のパラメーター値を指定して呼び出すことによって、なんらかの結果 (IQueryable<T> のインスタンスなど) を得ることができます。The delegate, when invoked with the ObjectContext input parameter and other parameter values, produces some result (such as an IQueryable<T> instance). デリゲートの初回呼び出し時に、クエリが変換およびキャッシュされます。The query is translated and cached when the delegate is invoked for the first time.

メソッド

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TArg13,TArg14,TArg15,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TArg13,TArg14,TArg15,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TArg13,TArg14,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TArg13,TArg14,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TArg13,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TArg13,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TArg12,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TArg11,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TArg10,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TArg9,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TArg8,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TArg7,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TArg6,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TArg5,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TArg4,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TArg4,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TArg3,TResult>(Expression<Func<TArg0,TArg1,TArg2,TArg3,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TArg2,TResult>(Expression<Func<TArg0,TArg1,TArg2,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TArg1,TResult>(Expression<Func<TArg0,TArg1,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Compile<TArg0,TResult>(Expression<Func<TArg0,TResult>>)

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。Creates a new delegate that represents the compiled LINQ to Entities query.

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください