Share via


Constante expressies

Een constante expressie bestaat uit een constante waarde. Constante waarden worden rechtstreeks geconverteerd naar constante opdrachtstructuurexpressies, zonder vertaling op de client. Dit omvat expressies die resulteren in een constante waarde. Daarom moet het gedrag van de gegevensbron worden verwacht voor alle expressies met constanten. Dit kan leiden tot gedrag dat verschilt van CLR-gedrag.

In het volgende voorbeeld ziet u een constante expressie die wordt geƫvalueerd op de server.

Decimal totalDue = 200 + 3;
using (AdventureWorksEntities context = new AdventureWorksEntities())
{
    IQueryable<string> salesInfo =
        from s in context.SalesOrderHeaders
        where s.TotalDue >= totalDue
        select s.SalesOrderNumber;

    Console.WriteLine("Sales order numbers:");
    foreach (string orderNum in salesInfo)
    {
        Console.WriteLine(orderNum);
    }
}
Dim totalDue = 200 + 3
Using context As New AdventureWorksEntities()
    Dim salesInfo = _
        From s In context.SalesOrderHeaders _
        Where s.TotalDue >= totalDue _
        Select s.SalesOrderNumber

    Console.WriteLine("Sales order numbers:")
    For Each orderNum As String In salesInfo
        Console.WriteLine(orderNum)
    Next
End Using

LINQ naar entiteiten biedt geen ondersteuning voor het gebruik van een gebruikersklasse als een constante. Een eigenschapsreferentie voor een gebruikersklasse wordt echter beschouwd als een constante en wordt geconverteerd naar een expressie van een opdrachtstructuurconstante en uitgevoerd op de gegevensbron.

Zie ook