Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein konstanter Ausdruck besteht aus einem konstanten Wert. Konstantenwerte werden direkt in konstanten Befehlsstrukturausdrücke ohne Übersetzung auf dem Client konvertiert. Dazu gehören Ausdrücke, die zu einem konstanten Wert führen. Daher sollte das Verhalten der Datenquelle für alle Ausdrücke mit Konstanten erwartet werden. Dies kann zu einem Verhalten führen, das sich vom CLR-Verhalten unterscheidet.
Das folgende Beispiel zeigt einen konstanten Ausdruck, der auf dem Server ausgewertet wird.
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 unterstützt nicht die Verwendung einer Benutzerklasse als Konstante. Ein Eigenschaftsverweis für eine Benutzerklasse wird jedoch als Konstante betrachtet und in einen Konstantenausdruck der Befehlsstruktur konvertiert und für die Datenquelle ausgeführt.