Udostępnij za pośrednictwem


Wyrażenia stałe

Wyrażenie stałe składa się z wartości stałej. Stałe wartości są bezpośrednio konwertowane na stałe wyrażenia drzewa poleceń bez żadnego tłumaczenia na klienta. Obejmuje to wyrażenia, które powodują stałą wartość. Dlatego zachowanie źródła danych powinno być oczekiwane dla wszystkich wyrażeń obejmujących stałe. Może to spowodować zachowanie, które różni się od zachowania ŚRODOWISKA CLR.

W poniższym przykładzie pokazano wyrażenie stałe, które jest oceniane na serwerze.

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 to Entities (Jednostki LINQ to Entities) nie obsługuje używania klasy użytkownika jako stałej. Jednak odwołanie do właściwości w klasie użytkownika jest uznawane za stałą i zostanie przekonwertowane na wyrażenie stałe drzewa poleceń i wykonane w źródle danych.

Zobacz też