CompiledQuery クラス

定義

キャッシュされた LINQ to Entities クエリを表します。

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

次の例では、 DateTimeDecimal 入力パラメーターを受け取るクエリをコンパイルして呼び出し、注文日が 2003 年 3 月 8 日より後で、合計期限が $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

注釈

再利用のためのクエリのコンパイルとキャッシュを提供します。 概念的には、このクラスには、複数のオーバーロードを持つ 1 つの Compile メソッドが含まれています。 Compile メソッドを呼び出して、コンパイルされたクエリを表す新しいデリゲートを作成します。 デリゲートは、 ObjectContext 入力パラメーターとその他のパラメーター値を使用して呼び出されると、何らかの結果 ( IQueryable<T> インスタンスなど) を生成します。 クエリは、デリゲートが初めて呼び出されたときに変換され、キャッシュされます。

メソッド

名前 説明
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 クエリを表す新しいデリゲートを作成します。

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 クエリを表す新しいデリゲートを作成します。

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 クエリを表す新しいデリゲートを作成します。

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 クエリを表す新しいデリゲートを作成します。

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 クエリを表す新しいデリゲートを作成します。

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 クエリを表す新しいデリゲートを作成します。

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 クエリを表す新しいデリゲートを作成します。

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 クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

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

コンパイル済みの LINQ to Entities クエリを表す新しいデリゲートを作成します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください