Freigeben über


CompiledQuery Klasse

Definition

Stellt eine zwischengespeicherte LINQ to Entities-Abfrage dar.

public ref class CompiledQuery sealed
public sealed class CompiledQuery
type CompiledQuery = class
Public NotInheritable Class CompiledQuery
Vererbung
CompiledQuery

Beispiele

Im folgenden Beispiel wird eine Abfrage kompiliert und anschließend aufgerufen, die DateTime- und Decimal-Eingabeparameter akzeptiert und eine Auftragssequenz zurückgibt, in der das Auftragsdatum nach dem 3. März 2008 liegt und der fällige Gesamtbetrag weniger als 300,00 $ beträgt:

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

Hinweise

Ermöglicht das Kompilieren und Zwischenspeichern von Abfragen zur Wiederverwendung. Diese Klasse enthält eine einzelne Methode (Compile) mit mehreren Überladungen. Rufen Sie die Compile-Methode auf, um einen neuen Delegaten für die kompilierte Abfrage zu erstellen. Der Delegat erzeugt ein Ergebnis (wie z. B. eine ObjectContext-Instanz), wenn er mit dem IQueryable<T>-Eingabeparameter und anderen Parameterwerten aufgerufen wird. Die Abfrage wird beim ersten Aufrufen des Delegaten übersetzt und zwischengespeichert.

Methoden

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>>)

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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>>)

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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>>)

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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>>)

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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>>)

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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>>)

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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>>)

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

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

Erstellt einen neuen Delegaten, der die kompilierte LINQ to Entities-Abfrage darstellt.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen